查看: 1451|回复: 12
打印 上一主题 下一主题

[教程] 简单易用Javascript Hide and Show

[复制链接]

该用户从未签到

58

主题

933

回帖

3897

积分

被盗用户

积分
3897

灌水大神章小蜜蜂章笑傲江湖章

跳转到指定楼层
1
发表于 2016-9-17 19:57:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Javascript 就这么几行:

function toggle() {
if (document.getElementById("showhide").className=="show"){
  document.getElementById("showhide").className="hide";
  }
else{
  document.getElementById("showhide").className="show";
}
}

css 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)

HTML / MDX源文件中 任何元素都能使用。


倒是有个问题也顺便请教一下:

我想显示隐藏中的前10个元素、20个、50个、100个或者全部(如附件中的<a>),这样的JS要怎么写?

test.rar

609 Bytes, 下载次数: 22, 下载积分: 米 -5 粒

  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    7

    主题

    720

    回帖

    6824

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    6824

    灌水大神章小蜜蜂章笑傲江湖章

    3
    发表于 2016-9-24 22:48:14 | 只看该作者
    好办法,谢谢分享。

    该用户从未签到

    58

    主题

    933

    回帖

    3897

    积分

    被盗用户

    积分
    3897

    灌水大神章小蜜蜂章笑傲江湖章

    4
     楼主| 发表于 2016-9-25 02:32:17 | 只看该作者
    本帖最后由 lxchen2001 于 2016-9-25 02:36 编辑
    jiangws 发表于 2016-9-24 22:48
    好办法,谢谢分享。


    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。

    也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。

    在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。

    (点击Full Hyponyms测试)

    wnshowhide.rar

    10.58 KB, 下载次数: 29, 下载积分: 米 -5 粒

    该用户从未签到

    13

    主题

    194

    回帖

    2101

    积分

    解元

    Rank: 5Rank: 5

    积分
    2101

    灌水大神章小蜜蜂章笑傲江湖章

    5
    发表于 2016-9-25 12:50:57 | 只看该作者
    想显示隐藏中的前10个元素、20个、50个、100个或者全部


    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.

    如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...

    如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.

    这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.

    大致如下:
    js
    1. function transChs_test(ele) {
    2.         if (ele.className == 'js_active') {
    3.                 ele.className = '';
    4.                 document.getElementById('test').className = '';
    5.         } else {
    6.                 document.getElementById('test').className = 'js_chs';
    7.                 ele.className = 'js_active'
    8.         }
    9. }
    复制代码


    css部分
    1. /* default: chinese */

    2. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}
    3. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}
    4. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}
    5. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}

    6. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}


    7. /* default: no chinese */
    8. /*
    9. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}
    10. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}
    11. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}
    12. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}

    13. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}
    14. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}
    15. */
    复制代码



    文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>
    2. <div class="test" id="test">
    3.    <span class="L_ENT">
    4.     test
    5.    </span>
    6.    <a name="L_topv">
    7.    </a>
    8.    <div class="L_MRK">
    9.     <span class="cn_js" onclick="transChs_test(this)">
    10.      <span class="cn_btn" title="Chinese on/off">
    11.       Chs
    12.      </span>
    13.     </span>
    14. ...
    15. ...
    16. ...
    复制代码


    该用户从未签到

    58

    主题

    933

    回帖

    3897

    积分

    被盗用户

    积分
    3897

    灌水大神章小蜜蜂章笑傲江湖章

    6
     楼主| 发表于 2016-9-25 16:47:44 | 只看该作者
    idict 发表于 2016-9-25 12:50
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    都是大神们的大作, 抱歉忘记 ...

    谢谢分享心得。

    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。

    (复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)

    谢谢

    该用户从未签到

    13

    主题

    194

    回帖

    2101

    积分

    解元

    Rank: 5Rank: 5

    积分
    2101

    灌水大神章小蜜蜂章笑傲江湖章

    7
    发表于 2016-9-26 13:56:55 | 只看该作者
    lxchen2001 发表于 2016-9-25 16:47
    谢谢分享心得。

    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。

    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...

    只得重做, 之前的删除了.

    见附件如下, 不作参考.
    test.zip (12.53 KB, 下载次数: 21)

    该用户从未签到

    131

    主题

    2650

    回帖

    3万

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    34126

    灌水大神章小蜜蜂章笑傲江湖章翰林院专用章管理组专用章

    8
    发表于 2016-9-26 15:02:44 | 只看该作者
    idict 发表于 2016-9-25 12:50
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    都是大神们的大作, 抱歉忘记 ...

    颜值很高

    该用户从未签到

    19

    主题

    363

    回帖

    2553

    积分

    解元

    Rank: 5Rank: 5

    积分
    2553

    灌水大神章小蜜蜂章笑傲江湖章

    9
    发表于 2016-9-29 20:23:26 | 只看该作者
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?

    该用户从未签到

    58

    主题

    933

    回帖

    3897

    积分

    被盗用户

    积分
    3897

    灌水大神章小蜜蜂章笑傲江湖章

    10
     楼主| 发表于 2016-9-29 21:14:41 | 只看该作者
    fnaviwwo1 发表于 2016-9-29 20:23
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?

    都可行

    用class的话 可以用css来控制,而且不光是隐藏显示,包括其他的css设定
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    7

    主题

    720

    回帖

    6824

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    6824

    灌水大神章小蜜蜂章笑傲江湖章

    11
    发表于 2016-10-1 23:00:00 | 只看该作者
    idict 发表于 2016-9-26 13:56
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...

    只得重做, 之前的删除了.

    很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    7

    主题

    720

    回帖

    6824

    积分

    会元

    Rank: 7Rank: 7Rank: 7

    积分
    6824

    灌水大神章小蜜蜂章笑傲江湖章

    12
    发表于 2016-10-1 23:06:49 | 只看该作者
    lxchen2001 发表于 2016-9-25 02:32
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。

    也发现另外的问题,比如一个页面中有多 ...

    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

    58

    主题

    933

    回帖

    3897

    积分

    被盗用户

    积分
    3897

    灌水大神章小蜜蜂章笑傲江湖章

    13
     楼主| 发表于 2016-12-2 02:59:45 | 只看该作者
    jiangws 发表于 2016-10-1 23:06
    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    嗯 是的

    看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成