掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 2004|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:3 X8 v! E2 U9 ]5 ?( q$ V: G  F

% E3 W3 [5 {$ {% T1 zfunction toggle() {7 z7 V! f/ G4 Z% R+ R
if (document.getElementById("showhide").className=="show"){- i/ F! m% K4 M0 c& p9 ]- ~
  document.getElementById("showhide").className="hide";
( A( V# _6 y+ A& h/ g+ i, n' ^. u) F  }/ U2 i6 n; `  c# T/ L6 w0 k
else{" V. H# g1 b$ _6 e" g6 d5 `
  document.getElementById("showhide").className="show";
; H+ m$ r# ~& | }
0 M' l9 Z% Z4 x% n& D}( v* W9 F7 V7 {( k4 ?/ o, w# j
+ `2 C% z/ f* W/ g
css 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)0 Q& I6 A6 F* B& K
0 }4 q. C7 F3 n" g; d
HTML / MDX源文件中 任何元素都能使用。
5 C, @  p# e/ n* W3 C. ^/ q% H! j$ _$ X
, e; X$ Q4 c7 j
倒是有个问题也顺便请教一下:
9 }7 n6 o% p/ S. Z, {) L
- p  x! \4 D! \8 x我想显示隐藏中的前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 编辑
    * R  N  C  F8 t! w
    jiangws 发表于 2016-9-24 22:48
    6 T$ b9 C4 t/ v' {/ w好办法,谢谢分享。

    4 X% f9 T/ L5 `5 D+ C
    $ N9 |; x% V4 J1 ]( `7 \- ^  R后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。/ H# [" L$ L( f; ?) W3 d( f! a
      j, N# W& i" p% }6 d9 X3 C6 l
    也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。. a: b( H" \* h3 |# ~) i3 a  o

    ' g, C% Q$ d, C6 n9 A1 v7 d6 m3 C在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。
    ; ^# O. @! N4 l1 @  d6 G2 A6 E5 ~0 Y. H
    (点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

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

    2 a2 G9 K' b  T7 W( ~+ s) u
    & `$ Y2 b/ D, p; x( r1 ]4 T在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.1 L9 K5 L/ H' L" Z6 v4 G
    都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.
    # P8 Q, ]1 Y" _, S7 ]! y7 F
    - j5 Z$ L# G' [/ j. T' a$ s如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...
    ' x  t7 x) j. N' W9 l0 H8 ^4 G4 M0 h( x  G- U4 z
    如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.
    ! m; p; w0 M6 v9 S; a! ^$ T. g% T/ L1 \/ f6 V8 D7 L& Y' z
    这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.3 ^" T; d- f  O7 P: `; ^  K4 w8 ?

    + ]( d) s) G9 v: ]) Z# g0 a大致如下:+ `  B/ T/ l2 O, n' b' ~& ^
    js
    ) [+ ?1 E1 c! O
    1. function transChs_test(ele) {
      0 n9 ^* B. d& k% p1 _; ~
    2.         if (ele.className == 'js_active') {8 |7 U' X7 B" _+ D2 ^
    3.                 ele.className = '';
      . @1 g8 e6 X: x/ n
    4.                 document.getElementById('test').className = '';
      / A: _( G& n. q3 H& v) y4 }; S
    5.         } else {
      $ J7 N& @# n" Y+ e, L% Y5 I
    6.                 document.getElementById('test').className = 'js_chs';
      ; [3 V+ d) `* y
    7.                 ele.className = 'js_active'" Y% G) l8 A6 R0 i3 V' o
    8.         }
      - n: E. j' H, h$ W
    9. }
    复制代码
    % z, h7 W$ K4 ^6 H* \! a( ~0 q. ]

    8 i$ P0 V; m0 }7 D5 ?- }: bcss部分
    5 V6 m8 o; {% _8 |: Q! t  W" h
    1. /* default: chinese */
      " {) b& {6 w$ u
    2. 5 ?& g0 h8 l. d& j9 S. O
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}2 c. o* J# G+ F+ j
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}3 i& ]' `+ Y, C0 s; p9 I; V
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}
      + F, T1 Q, Y6 c; J
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      # Z* ~5 D6 h8 t7 [
    7. 7 |) b% Z; V( ?8 ?6 `3 }& ]
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}7 K- F) x( h& N3 g- R# t' W3 Z

    9. ( R  ?7 [  o# ]7 @2 ~3 C5 t9 s
    10. / z) \7 a( I7 H8 t1 Q# x
    11. /* default: no chinese */$ b; T% {# b: E  J: ^8 C
    12. /*
      % M8 l2 k( K! V- }. n
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}! [" m4 I; }, {# z0 ^/ G' R/ p
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}* q4 q( U3 U) p5 O/ c( S. f9 e
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}
        h* e3 z7 }/ D* L8 C0 l- a) B
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}. u/ i1 L0 z- g/ t& ~2 O8 R/ J9 ~

    17. 4 Y* H  v7 y: c& S1 p% s
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}
      ! j7 l$ h# u2 A8 M
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}
      1 X, I  w$ S0 I8 T' `! ?
    20. */
    复制代码

    % \" J$ r0 w/ m2 V4 i! E
    7 T$ N2 e4 S0 ^
    4 Z; R& P: R5 g2 ?! ^* [- l+ F  s0 ~文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.
    / @$ |! \$ c4 x1 k
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>- n2 G5 }. t4 {' c
    2. <div class="test" id="test">. i* X6 ^% j9 z. d1 ~) b0 {
    3.    <span class="L_ENT">7 [. h8 c  ~5 P* J
    4.     test- G  r3 c+ H  L0 H/ e
    5.    </span>1 z, W% p0 S$ N, o8 q
    6.    <a name="L_topv">
      6 ^/ F7 Q; C! e  u
    7.    </a>+ n( @6 ?; q* p6 c. G) d
    8.    <div class="L_MRK">
      ! z$ C5 D  E2 ~- U. R; `
    9.     <span class="cn_js" onclick="transChs_test(this)">( H2 t7 e) v, L' s/ }) B4 s
    10.      <span class="cn_btn" title="Chinese on/off">8 s* Z# K/ u5 u
    11.       Chs
        N; i. p; s; Y; ~+ @, g0 {/ ^
    12.      </span>0 P* u" E, c/ J  q+ I5 Y
    13.     </span>8 z0 Q' f: @9 x  R- l1 b8 ~
    14. ...
      3 O" b4 ?  s- C% K$ ^% `
    15. ...
      ! p; z7 w/ n' U  D2 g
    16. ...
    复制代码

    # h7 N4 f  h$ M8 L3 _" v; `
    $ k* c3 `  ^+ x& L  c" m

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50, f0 j4 K- G- w2 F! V
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    ; m& Y7 j7 ?* P4 F8 d8 X4 P都是大神们的大作, 抱歉忘记 ...

    ( N# U% k7 R( V! G& B& P; ~谢谢分享心得。 ! L1 k$ ^5 f5 E

    9 |' T& I- M3 Y6 i, v点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。% j. x/ g2 \  Y# f

    7 p# O. h, l) a- r(复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)
      o2 g1 h& f2 i, s2 D  ]/ ]8 Z* F% V1 _
    谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47: x8 C! H& o. h  |- ?5 \
    谢谢分享心得。
    $ ?! r/ }+ }, U4 ]. z* e
    5 B5 t5 ?; T) e5 n- K- c点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    3 a: g% c0 k7 o& p5 Q6 a
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...3 m; ]( e) q% X( Y
    / S. J9 j, g. ]
    只得重做, 之前的删除了./ H- f7 \# Y7 ~* V1 e
    ) l& a- i" `, F% I& r0 w
    见附件如下, 不作参考.
    * ^1 f3 I4 g1 A: p* @2 _, {" j1 O. z0 a

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
      S( R  R5 I" N6 o" f  k在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    7 d9 B- T( l3 Y  d9 M1 i  W* P都是大神们的大作, 抱歉忘记 ...

    / M$ ~: @0 @0 n  L颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:232 Y1 n5 h  D# H6 w
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?

    , V; ^. z1 d0 ^) e9 G' a/ v1 ]都可行' @% I2 J! T! o+ s/ H1 p$ j

    0 l+ W! f0 i6 ?: L! r, M9 y用class的话 可以用css来控制,而且不光是隐藏显示,包括其他的css设定
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:00:00 | 显示全部楼层
    idict 发表于 2016-9-26 13:56! T' Z) s& b/ f: q, b* }& d# c
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    8 Z  j" L* Q9 ?  J% V- _  G  h; z+ H
    " ?4 u0 p6 R/ \7 R3 J只得重做, 之前的删除了.

    * W1 ~' J( [  \' U" E很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:32! W* J' a# k; C2 U
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
    , b+ x. C0 l( ^! z: ]( e, G7 @% h. U
    也发现另外的问题,比如一个页面中有多 ...

      a- f+ A( l8 G, a2 G+ |0 b使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:06
    & n! p" w- J: A# j, G: j5 h使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

      }- K2 n! M7 n# t2 J嗯 是的
    , `# [* S. u, A' e; u* M7 r+ Z, V' ~+ M
    看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-30 19:15 , Processed in 0.069116 second(s), 9 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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