掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1960|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:
1 Z7 F1 i4 U6 o0 }0 Z( e! U9 K: o* R' T
function toggle() {
3 P9 K" Z# w1 ]- c5 u1 }8 Z# C* C' L if (document.getElementById("showhide").className=="show"){
6 `! Z! w& C1 C; V! a  document.getElementById("showhide").className="hide";
9 S/ H7 f/ A5 r. ?( |  }6 ~7 P3 E. O( i3 ?  ?
else{! o! G. b. I4 C) P. R' y# L% z
  document.getElementById("showhide").className="show";
) {% R* C4 ^0 j1 A1 Z' @$ ?0 i }  `/ [( g0 B* A
}. [" J  {5 h  I
9 H: F4 A! b/ o, ]" u+ y  u" S
css 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)' j# p8 q$ r& v  X. [: x  d
8 M9 ~9 Q# ]3 b2 W- |' M
HTML / MDX源文件中 任何元素都能使用。
' l2 `3 n+ x: `4 L0 ?  E9 b& l. V' j4 H; G2 I. T6 U' l$ ?2 e3 c1 F

1 T# j% @' l3 F* h- E/ r倒是有个问题也顺便请教一下:
" l2 Q7 }( @. V, i) _5 V
( h2 ]9 q$ e# |+ p% B7 J2 k( l% {& l我想显示隐藏中的前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 编辑
    # U/ w5 ^7 W. M0 n
    jiangws 发表于 2016-9-24 22:48+ t: N! g* C7 n$ n1 b( [& D3 t
    好办法,谢谢分享。

    + o* z" O( b7 ^  \  ]' o. t7 }$ q1 |5 K, v: p
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
    6 V/ Q8 x) {! r" D" d' f' [0 f5 w3 G2 w
    也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。
    ) @$ f+ i4 Q+ A4 i1 }7 A  H! F4 [# y9 d" }/ ?3 d5 H
    在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。
    % i) `) _# l+ `
    / {$ {' \( S6 E(点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

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

    1 g0 \2 w/ i5 D' {" q& E1 d- l) V
    ) V8 k7 V  d! L在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.5 x# O1 M( ~! ^5 V! v6 O9 l7 C
    都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.
    4 V: \. @2 p6 i6 R' X3 O
    ) ]" l/ Y; Y1 R+ I/ j' Q如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...
    : T3 J; q! A) f
    " |# `. ], q- }如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.
    2 X, L  K. ~* B3 \! ]  D- i! _( D2 s, @# ]7 f* T4 q
    这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.
    3 r# u$ |; g" P7 t6 H& ~  o+ P0 `" e$ E# r4 b# c( F+ i
    大致如下:
      q8 a- H+ ?) sjs
    % ]$ b6 l8 ^5 ^8 O- `1 I3 |
    1. function transChs_test(ele) {
      " @" w/ A2 c  d3 V- M
    2.         if (ele.className == 'js_active') {0 _: y' A' s+ H; i, q/ }3 r
    3.                 ele.className = '';
      3 g4 S0 m8 I& k3 l" S! c; X
    4.                 document.getElementById('test').className = '';7 Q% D$ F/ [1 z2 P7 [( y
    5.         } else {% |/ h6 @8 B" t2 o0 }. C+ _# d
    6.                 document.getElementById('test').className = 'js_chs';# j! ?0 ]4 z+ a; h  E7 e. d
    7.                 ele.className = 'js_active'1 d+ q, J3 V5 T9 A( r1 z
    8.         }/ w5 x) Q1 |( H/ k7 ]
    9. }
    复制代码
    - [7 l. ]8 `$ R; T+ _# q

    4 a$ ]* d& m* f+ wcss部分$ |7 W5 G4 l- ]% Z
    1. /* default: chinese */
      7 r3 Z; T; n8 U' v7 u" g; q& V

    2. ' h1 q" M) m* y% R
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}
      0 t' v; D3 \  b- p/ D) M8 f
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}1 \3 b+ ^1 G$ U( |4 K
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}% `! Z  z' O, V, J( J1 b
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}" [  C7 {* Z7 c/ n
    7. . d; k+ U6 E  q% ]) R
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}0 P3 k. u. q1 Y# J7 N, B
    9. ( z8 }  U% d) m# l9 R

    10. 4 Z" }( `7 x0 j: n- L
    11. /* default: no chinese */* c* n# d" e* _$ |7 V! w
    12. /*
      " l8 e* I( e* f2 ]3 F3 F
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}
      1 v! x8 a6 h" F
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}: S* A, _; I1 U7 ]  O$ A
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}5 c. G. Y2 ~8 d8 l0 N) U
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}" t" C5 X4 [" ?2 Z, M6 |; n

    17.   ^3 S4 n) d% a" j9 g
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}
      - U% c/ V9 x& R2 p' t6 V
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}% C  D% T5 x% e, J4 |" |8 T
    20. */
    复制代码
    7 ?4 H  c: t, K3 W4 R" w
    4 F1 t& g% r' H, I
    6 a: H) y+ _' }) Q) U# {6 I; t
    文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.
    5 \% i% M1 r) Q% }) J% ]
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>
      , g* \$ E. _; K. W3 m
    2. <div class="test" id="test">) i+ ^5 O+ S1 k$ @5 g% _7 h
    3.    <span class="L_ENT">& K" T; N/ P& m) L. d7 C4 x
    4.     test5 z9 K/ P; g/ M) C  u3 I/ u: {
    5.    </span>) w. E9 B  h$ Y1 T, v- c
    6.    <a name="L_topv">7 x5 J2 i6 u: G6 F
    7.    </a>
      + ]3 o3 q$ x& u) y/ \
    8.    <div class="L_MRK">2 w! S& H, I: R
    9.     <span class="cn_js" onclick="transChs_test(this)">
      % S! C- q# u4 s% v5 f, c, Q
    10.      <span class="cn_btn" title="Chinese on/off">; O  D3 }6 _2 w& j7 S9 H& l5 N+ T
    11.       Chs
      5 N2 L! b! u: @! ]
    12.      </span>1 h  E' q# L# y$ U" j. K
    13.     </span>
      $ P1 J* P7 Z4 Q: @* k. d
    14. ...* E6 p0 q$ z& ]: C" Z9 C: X
    15. ...1 @# ~. X, g  b, H- |
    16. ...
    复制代码
    " S$ F- Y. S1 Z/ l+ Q
    & u5 ^2 r  a4 d0 n

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    " [3 S; `& v( }9 X& u5 j6 y; T在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.8 M: o* L) f6 y4 U  @
    都是大神们的大作, 抱歉忘记 ...
    ! |# u9 X5 S! i7 j4 X/ w% k( c+ z
    谢谢分享心得。
    + i4 `! f, J; A  l
    1 O+ i+ A! |( r* T2 ]7 s点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    3 c! M9 ^1 q( Q4 m" j, O6 n2 R8 C
    ; @/ {$ n) C) u8 _) J(复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)9 S, }/ ?0 @/ L
    * b. _) r' t# A
    谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47' \6 ?+ ~5 l0 g1 N! e! F* ^
    谢谢分享心得。
    8 h; Z& L) W' x
    4 Z' L0 G# H! Q$ I# p( J$ z% Q, }( m* L点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。

    4 Z* w8 h8 N" p; w居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    # X6 Q# r% k" w! c4 {% Q
    - Q9 t6 o& s: a6 B/ ~  x5 ~只得重做, 之前的删除了.# i# ]$ D- j2 ^5 z
    & `7 o, J% {9 F4 ^
    见附件如下, 不作参考.
    3 M4 T1 k& c8 i

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    " u9 f+ f$ z2 a8 V* h在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.: B% T3 I' \0 u' K7 F" W
    都是大神们的大作, 抱歉忘记 ...
    - A3 j2 o/ S. W
    颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:23  L! h! \) W1 N; N
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?
    ; ^3 W5 Q( r0 o+ z  T( I! M$ Q6 w- d
    都可行
    9 V( ^+ J( ?4 R: h; ^! a; y" J- Z, c3 K2 `
    用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( E9 p* b( J* g* @' C, }+ f3 i
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...7 k/ i: [+ d% K' l" U
    8 t& B; N; G8 g7 ?6 U
    只得重做, 之前的删除了.
    4 I& m& w8 [5 ~% `: o, |
    很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:32" ~8 I/ ?1 x' R
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。4 y3 k. ^' U! }- m& ?8 D( s

    2 E0 t4 W0 P! D, c, V/ O# ]也发现另外的问题,比如一个页面中有多 ...
    , f4 m" Q$ T' \3 a5 i
    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:068 g0 O9 }3 H+ C& I6 B. H3 l
    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    3 D5 s( \4 C6 u嗯 是的
    0 [6 _% d* O% P% `% I7 W* X& F6 b8 x! B1 r% u! D
    看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 17:36 , Processed in 0.044798 second(s), 9 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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