掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2496|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:7 I9 F9 P7 F1 R/ b# ^) L$ C8 ?

9 K& Q. ]2 i" F* w  dfunction toggle() {. _4 ~9 B3 l6 G4 @0 x% G/ I. y$ ^
if (document.getElementById("showhide").className=="show"){
9 y9 k& @  j2 S  q8 y  document.getElementById("showhide").className="hide";4 m: k8 b9 y5 Z
  }/ V( |9 ~% B  K* I1 y
else{$ h: r, j4 r( _5 g
  document.getElementById("showhide").className="show";6 N! T8 m5 b0 m
}' ^5 g6 Z' r4 d0 l4 H' u0 @
}; g! m# R# w  }: _5 Q' g

/ a0 c, D; U) ecss 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)
6 Y( E5 q7 Y" l, {, w  x: y4 l3 q; O* V  A7 X+ H6 M- K% S- L+ t
HTML / MDX源文件中 任何元素都能使用。; e+ f: n$ m6 O5 U7 Q
0 h1 q+ m1 P; }& d( C. `/ `
8 }+ y0 s3 k& o& Y+ X
倒是有个问题也顺便请教一下:
8 ^7 f, H9 u/ l2 E7 C( v1 e% _
; h3 V5 Z2 j' k( k3 ^- \1 _我想显示隐藏中的前10个元素、20个、50个、100个或者全部(如附件中的<a>),这样的JS要怎么写?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?免费注册

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

    [LV.3]偶尔看看II

    发表于 2016-9-24 22:48:14 | 显示全部楼层
    好办法,谢谢分享。

    该用户从未签到

     楼主| 发表于 2016-9-25 02:32:17 | 显示全部楼层
    本帖最后由 lxchen2001 于 2016-9-25 02:36 编辑
    8 U' P/ }9 ^" w6 r* b" q( H7 j
    jiangws 发表于 2016-9-24 22:483 g4 p- {  j4 N% m( ~
    好办法,谢谢分享。
    - B! f4 f; }5 t# Z9 k  r
    : _' ^3 R5 |7 j$ U
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。2 N5 s2 [8 E+ }7 V% b% _8 C1 I0 Z

    1 P0 W5 S  f) }' [也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。7 C# @3 Q+ N! ^" @7 @+ m2 P

    / `( F+ e7 B( ~4 v在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。4 x* G; S' ~. ]
    $ p+ M6 F: g" n3 @3 \. Q
    (点击Full Hyponyms测试)

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x

    该用户从未签到

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

    . i$ u7 L1 H% Q9 o* K' A4 O0 j
    ) u- S5 p/ r8 X- h6 e在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.# P! Z' {/ {1 p! y: B( f
    都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.
    " m( R6 ?. B: B6 a) X9 S9 c7 S0 g+ A1 z; o5 u
    如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓.../ H. l9 H* C# e
    ) B4 ]& y  A4 O1 K, B
    如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.
    1 I! t' A& h& w" t. p' j( p( \+ u* ]3 Q; n
    这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.. E( ~) X% s( f" V/ {4 z% q
    + V. P  Z: B+ m8 S  y$ k
    大致如下:1 l' D6 w/ F5 H3 f+ z
    js
    * e  S2 v* r3 B: }8 l5 g/ v
    1. function transChs_test(ele) {, P: B* p* j- a4 U  K. s
    2.         if (ele.className == 'js_active') {1 K' ]8 z* V& U6 f
    3.                 ele.className = '';
      1 t- U* K6 \+ j9 Y( `
    4.                 document.getElementById('test').className = '';5 ?! t4 D4 }; t1 ]( a( k. l& r: v
    5.         } else {
      5 I; j% r+ k! f
    6.                 document.getElementById('test').className = 'js_chs';
      & W7 B& j# |7 a7 w* {; U. J; S/ @
    7.                 ele.className = 'js_active'
      * `5 D7 F- n# c: N' [
    8.         }
      3 |5 `2 e+ q5 H7 f1 O' h# @& {: {5 g, T
    9. }
    复制代码
    3 J% r; t( _& v3 h2 U

    ( e( A5 }0 m/ e/ N) ]css部分
      e# Q/ }% l3 F% U' k2 _  [  U/ F
    1. /* default: chinese */
      , Z8 N. R1 Y" R& D% K1 o# ^4 z& x

    2. ! }2 x, i7 e1 `. A; p7 y1 w
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}3 r; v  E: _1 k: [7 }" v
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}3 P1 ?. N- t' w8 U& \
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}
      & C5 E% _1 @6 Y: Y7 }6 @; U) E
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}& y: A* z* T: f8 p5 l$ B4 N. U) C5 U* V

    7. # t7 B& r+ H% t3 @1 D$ x. C. B6 X
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}5 k7 e) m6 R3 d3 @
    9. $ o' r4 v( |( x' H; i
    10. 8 U" x0 B! L. r9 \
    11. /* default: no chinese */
      ' ~1 P3 V$ s* Y4 d5 E% j
    12. /*
      0 F* k0 x7 N4 [- N2 ]7 B6 T/ z  \. f
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}
      : [* R" j/ c7 J+ Q  P9 s7 j
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}( V8 f, W: E$ X' d' F7 u
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}' }8 I0 I1 d9 V. q  F: @
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}* r% z* _7 T% ~
    17.   `4 Z, Z. z( \" x  R& A! Z5 G
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}
      1 }, }/ M) L- W! C
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}
      ' v; u/ h5 |! x5 N2 K. X
    20. */
    复制代码
    9 K2 K$ p( P; r7 K; c) e

    3 r5 c; W) ?; R& m$ `/ |: r  a, Y2 _! V, ^4 R& e, A9 d/ e% l  }& h8 F
    文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.
    , E# E2 o! B( b
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>
      $ Q9 j0 ^) g! u5 `) r) c
    2. <div class="test" id="test">
      , F3 @- q# P* w# |
    3.    <span class="L_ENT">% V) d2 q4 m$ x( v
    4.     test
      ! e; H0 x3 c- g0 j2 \
    5.    </span>6 m2 |" }: O1 _4 }
    6.    <a name="L_topv">0 ?9 l# A: n7 S; m9 e2 J& v
    7.    </a>4 L: k" w2 D+ s/ j/ V( ~3 I
    8.    <div class="L_MRK">
      ) R4 V# V" {4 t, ~
    9.     <span class="cn_js" onclick="transChs_test(this)">; H& i/ R/ {  U: f* B
    10.      <span class="cn_btn" title="Chinese on/off">
      ) u2 p% a, a4 v: h! n7 z0 z
    11.       Chs; R/ A. f: u" o3 [9 I9 |! e6 p# Z
    12.      </span>
      " h7 N: u9 I8 O" g' W. |# U/ @( ^
    13.     </span>8 T3 ?: Q$ J: }. o, V2 t8 R. n/ q
    14. ...
      . e; N+ S* j: J: _
    15. ...) G3 s  K! L$ f) b& r" M  P
    16. ...
    复制代码
    . Q8 e, ~8 H0 I: ^1 u' \4 U9 D

    9 Z7 l+ V, X$ F

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    % f5 k: K+ u: N/ L/ B5 }在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.1 O% m  N+ O, A  j: P
    都是大神们的大作, 抱歉忘记 ...

    - C; i" w' Y7 A3 }& Z4 |谢谢分享心得。
    / p" @  _0 X4 z+ S# }4 N
    4 @3 D/ V* b+ s& y- d1 v; j点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    + A# `6 d5 s3 D
    % J" s3 P, k$ W% ~7 s) T(复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)
    ! X6 `8 j& J! k5 d4 f9 g- b
    ; h/ n8 X! ~8 J1 \' m$ u. P谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47% _# Q) [4 b9 ]; A; H
    谢谢分享心得。
    2 r' B( i, T, {6 C2 x0 B6 n' J  s6 @5 e
    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。

    / l: F2 T7 w! Z; @居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    + h1 F) s$ @+ A' _% I+ D, K3 y4 Z0 _6 G6 m. i, F& v
    只得重做, 之前的删除了.& a7 K6 ^3 \9 \% I
    ! O. N, k2 I9 q) _$ @
    见附件如下, 不作参考.
    1 y5 Y8 M- ?+ H* n

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?免费注册

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:504 c4 l! Z/ M8 Y
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    . p  ?" P0 [4 R5 f5 x- |8 b都是大神们的大作, 抱歉忘记 ...
    2 z( I- n2 G' l0 Q& ^
    颜值很高

    该用户从未签到

    发表于 2016-9-29 20:23:26 | 显示全部楼层
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:23, X' j6 }- g% h& j
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?
    ! A2 i3 \8 q4 b
    都可行' z6 }6 q: s0 a' E+ h* @. c

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

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:00:00 | 显示全部楼层
    idict 发表于 2016-9-26 13:569 }: g6 E) R& S' A# e9 k
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...% z: p0 a' X6 F
    * t7 {$ c& L3 G& b1 X7 X5 K9 _- W5 u
    只得重做, 之前的删除了.

    8 P0 C1 M; M# T3 ~" f7 g, y2 `很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:32: [6 N4 Y  c3 t6 u$ m% m
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
      Z1 w* F2 q% M$ G/ g% W1 i; }  ~& J
    也发现另外的问题,比如一个页面中有多 ...
    ) r5 K! Z, [; r5 y: \
    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:06
    ( g; A6 j6 v7 i( p使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    1 t8 {" r' |. ?& T7 V嗯 是的/ ?% a) K! e; [  E

    # V$ c/ t' J$ s9 p. z2 V6 \看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-6-28 11:15 , Processed in 0.023233 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表