掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1964|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:$ e2 {& X) v7 \/ v' K* T
2 _; A) W! A5 y( `' h
function toggle() {' T7 ~7 Q8 ?0 _5 ~( J/ y% S
if (document.getElementById("showhide").className=="show"){
9 x' d. T% z; _  E; Q, E  document.getElementById("showhide").className="hide";' Y# D; ^, T( z& k
  }8 S. W3 r* Q- r# m
else{2 K7 m! K/ G1 j3 k9 c5 J
  document.getElementById("showhide").className="show";
" P* s+ F7 j2 c1 W% L }
. _% x, {& W* y  v' m: g6 K' w6 v6 a}# @5 m' A) U# x/ f
+ P8 c& u. Z2 K' T8 ~2 n
css 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)
; r, h# o; t2 u) N( d
0 ~6 \' H. e* o# j- y3 wHTML / MDX源文件中 任何元素都能使用。1 n8 W1 ]* _% Y

" ]: N# ^7 |5 p; e$ c% g0 I) G
8 D' ~6 J+ l  \. I- W: b倒是有个问题也顺便请教一下:
, V' B! Y8 V! i* X- W. G- S0 `8 G0 i7 \  M0 A* N
我想显示隐藏中的前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 编辑 . Q) `+ I4 g- o% S6 O: |
    jiangws 发表于 2016-9-24 22:48
    6 [' G$ {3 F# {; c/ H1 T好办法,谢谢分享。
    + z* V  C/ E+ s) S) U' I
    6 E0 [; D4 e0 h  ?1 e0 i
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
    / {0 Y7 ^& O9 ]9 y
    9 C- g! l; I6 }9 S. Y. `也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。6 O* p5 U9 r& ^: L3 c4 [

    % x: m' p, \" B9 u, s在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。
    $ r+ s, \0 f$ @7 f" U( Y
    # z9 P; [. O- V* T3 C1 ^(点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-25 12:50:57 | 显示全部楼层
    想显示隐藏中的前10个元素、20个、50个、100个或者全部
    7 O) l# V7 {( E5 _% K( X( _" k2 j( n

    : ~* D$ j$ S/ l+ Z" Y; |: Q; ~在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    : h3 h* i" a! A" E' w, T都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.
    9 w/ H+ l1 Y  T
    7 P  a% d! ]+ S* E" n如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...
    " R9 K: r% t+ Y5 Y' m
    # Q  \( O# K8 ?4 x% y- }' d如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.
    5 f( K, X9 Q7 A1 R* v2 Z: C. x5 d+ P$ q: ~/ r
    这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.$ e3 n6 F# ?- a; N8 j
    6 E% i$ p) Y3 x1 z: I8 Z
    大致如下:
      W5 [" `& t2 n, Ajs
    - S0 J% y- x* o" e+ [1 V& l
    1. function transChs_test(ele) {
      6 l' j- i  _. D3 T
    2.         if (ele.className == 'js_active') {
      " C" A+ w( m0 }! V. E6 R! A3 |
    3.                 ele.className = '';
      * l/ B* h+ _1 n9 }0 i) G
    4.                 document.getElementById('test').className = '';
      + \% G4 U" q' v9 c+ h
    5.         } else {+ k0 ^4 x' }' d8 U$ |
    6.                 document.getElementById('test').className = 'js_chs';; f1 Q' K: v% o5 A
    7.                 ele.className = 'js_active'
      ( q) P" Z/ g# s* n- L5 v
    8.         }1 J* `9 k6 ?. ~
    9. }
    复制代码

    ' _1 y/ i. s% p8 C5 N1 N. k& b
    # g7 `& \9 u' G# c+ |1 }css部分" @2 {0 F: q0 O. v  z
    1. /* default: chinese */
      % ^* {. S$ k- U3 B/ V3 m$ `
    2. 0 v0 T" c; `5 L2 }, I' L+ }" a+ W
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}- q0 O3 ^7 {7 p5 B# ]4 N
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}% m6 f$ }- W+ u* O
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}% ]' E) h2 D8 ^0 s  m
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}" Z$ f+ o* W" j

    7. ' F( F" n' z5 `$ k
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}
      . b0 |1 C0 E( h. X, C* s8 L! u% \
    9. . P+ o) {: M3 S0 ]
    10. 2 {$ i$ T4 O0 Y$ W& r
    11. /* default: no chinese */
      $ u$ f# o) E0 e& [
    12. /*
        j6 ?$ O5 X" e- N3 w
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}0 E2 z3 c. U% Y) e7 P
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}$ s" \8 t. P. n. S2 k$ w
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}
      / N  e9 {* o$ m+ O8 ~% O9 ]' O
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}- T6 i# W+ o& u1 I4 L
    17. + j+ o" e; t) Y1 ]0 {- `1 @0 ?
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}
      : b3 K, _3 k7 Z9 p
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}* e# b+ f4 e0 y/ h" j
    20. */
    复制代码
    # s" T9 x6 p, m. d

    ) t1 U3 H# y% N. f+ K6 P0 P1 L, A: F7 {( Z. C) R
    文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.
    , P5 l& q, D- y+ Z1 X, _$ P
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>5 E4 T7 h6 N7 e3 M
    2. <div class="test" id="test">
      0 ^! y3 A: G$ \  v% s2 p
    3.    <span class="L_ENT">
      0 J& r" X# b0 n# o; ]! Q0 j: F
    4.     test8 U. F: l* ^* G, T
    5.    </span>
      : s: Q8 N- }* ?# V6 S
    6.    <a name="L_topv">4 K( l# m  W  ~; U/ ?
    7.    </a>
      : r, _; T  q/ |' J8 P/ h
    8.    <div class="L_MRK">7 p: C% M+ I- F. ?7 ?5 {! c
    9.     <span class="cn_js" onclick="transChs_test(this)"># U3 w" P" X# X6 {9 H% v8 m6 b
    10.      <span class="cn_btn" title="Chinese on/off">$ R( {$ G" E2 q. n
    11.       Chs0 y6 e% o% W/ ]- p$ f
    12.      </span>
      " e! [$ i: B$ G; f
    13.     </span>% R& U  P6 L) Y
    14. ...5 t9 D" [% ?  l
    15. ...% t3 x3 I' c4 O7 R' Y4 r% r$ W
    16. ...
    复制代码

      n2 J- ~6 X# _# K9 u. W+ B( F3 o+ a2 w# h: `' q# o

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50, K: h0 F0 G7 I! X1 r' D
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
      G$ S0 B5 h8 Y都是大神们的大作, 抱歉忘记 ...

    ' w7 k( }1 L; B# u' O: y4 e谢谢分享心得。
    4 R/ L9 X5 y' ^5 _- M- z" m4 g8 ]; R; v7 X# w: O/ s& ]1 U
    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
      y! }% R2 [) s  q5 r; A8 J* L3 }, f( b; ~$ S/ Y" {+ @" D
    (复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)
    5 H2 Y% K3 X: D% b8 t8 q. y/ \
    $ l+ O, ]+ F5 `, i, F: W/ e谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47
    ) k% F* e6 J7 Q- f5 y谢谢分享心得。 : o, _3 u6 |8 T0 y
    ; \* @" @1 O0 A0 ^) i4 u
    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    6 w! W- ^8 Q+ V! B
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    , l9 `. I& |% K8 t! u: S/ P* A
    % g3 @: K* J4 W2 A& T6 X' ]只得重做, 之前的删除了., X+ S- k) o9 }- X

    $ m+ n5 [0 v+ Z; G' X& _见附件如下, 不作参考.
    * U+ f% A- R: u$ a/ d% S- o# m

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50( z4 a( R3 s- H; k+ t
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.  d4 N1 |. s9 F. y+ f9 H# D5 r. ~
    都是大神们的大作, 抱歉忘记 ...
    4 E$ _. M- |) _% g/ y
    颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:235 K2 F6 P7 X/ F, r7 {  f
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?

    2 ~. j5 W7 v) J' s' W" d: H都可行
    8 C1 F8 y% `- A" r; {6 d  u
    - V$ q! `% M% f3 N用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' f: J+ f  F4 j3 r
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...& w8 f0 ^: p5 c0 K6 U0 H1 p
    4 E3 u$ @/ r" l$ v; q" L0 M
    只得重做, 之前的删除了.
    ; W: K: u0 M9 j1 [" q1 b$ Q
    很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:32
    ! D0 [. Z, r9 O( c6 r& k5 ]2 d后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
    4 \% L" t1 s3 ~/ v9 g: D0 _
    6 w& K0 R* `+ ^- j) h1 X, b; C' Y: B也发现另外的问题,比如一个页面中有多 ...

    , G; Z7 Y8 `% a2 K使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:06
    / H+ H4 ]7 ]3 W. A使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    0 ?. K; W' `/ W: S8 l嗯 是的, t2 @+ l; n* I; Q
    ! k) [7 S+ s( u
    看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 20:08 , Processed in 0.042524 second(s), 8 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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