掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1961|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:) d! v: F# x3 k9 K9 o$ m
9 P# N3 X$ u# W" ^
function toggle() {
' j% K1 F" [, }0 D1 d; C if (document.getElementById("showhide").className=="show"){
9 K' [7 A1 K- z/ j0 r6 X  document.getElementById("showhide").className="hide";
, Z8 H" q- e( a- a  }! j( A! T0 ^% k% S: N
else{; f! T! M1 y9 [& n7 t' i) U" B& m
  document.getElementById("showhide").className="show";4 ]1 g- K/ i* j- F6 E5 c- N
}4 ]- e7 q' b- A. Y' |# o, X5 d9 `3 W
}
% P; x; v: V" v( a9 |. `
, A5 U  n5 O1 K  q  ncss 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)! |% z- [; F  |! v4 C" q

. O$ [5 O! r0 o& W/ `1 dHTML / MDX源文件中 任何元素都能使用。
4 T! O2 s1 p  E, E! I/ b, ^4 I* `8 t* ^! s  g, T! {

" v7 I+ C& O  j0 Q2 a) D7 G倒是有个问题也顺便请教一下:8 S# j; }- D7 T. ]  R6 `# |

0 `& y' [1 x& S$ Q我想显示隐藏中的前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 b+ J9 X% D) ^. j. F7 v5 }$ J4 D9 D% S
    jiangws 发表于 2016-9-24 22:48
    3 R9 j7 Z5 W% x0 r. a好办法,谢谢分享。

    2 v3 `2 ~+ }2 `+ [: Y! p- ]
    7 a/ y  }% A: T$ h% S. }# `4 U后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
    . H9 o' d! I1 V8 B0 \  s) K+ B) e; ^2 w# W; B7 u( \! c* l
    也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。$ [. N9 J; q( ^( N6 J% v

    ' L& N1 ~. K1 m5 ~9 w在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。1 D2 v1 `! z8 {8 n5 a! v+ L

    " n/ f. f* s0 u! s(点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-25 12:50:57 | 显示全部楼层
    想显示隐藏中的前10个元素、20个、50个、100个或者全部
    ' P5 @, X4 ~0 q7 i, j

    ' \; Y- s+ }$ x7 G+ w8 H' |在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    ( ?& \7 K& A8 P% Y3 O- Z9 A. h  Q都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.
    4 V+ f+ z* k0 w* h0 f/ i" o, N5 X
    如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...
    . [  ?2 Q. |4 z2 [4 N: N7 ~' B2 I+ @( R! T4 b# }8 e
    如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考., V% C' g: b# y3 ~' l5 S

    - t7 R; i! D* S这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.
    + U" w+ o% f* d' m; f
    " Q: |9 b) q0 J0 y6 S* E0 V& y5 K: `大致如下:3 B# g( h4 \* F' D
    js" t3 x- w! W; n. H1 B
    1. function transChs_test(ele) {4 Q6 W* h0 L( j7 C4 d5 ]
    2.         if (ele.className == 'js_active') {: j0 q: [% n4 s4 ~2 G, N3 k
    3.                 ele.className = '';2 Q9 L, Z% t9 g1 Q+ r, C3 t: N
    4.                 document.getElementById('test').className = '';
      4 j) U( K" I: q6 C, S
    5.         } else {  W0 d# `: b+ U$ F9 f5 K
    6.                 document.getElementById('test').className = 'js_chs';5 _1 ?! |4 t2 z3 ~  V  L7 E8 F
    7.                 ele.className = 'js_active') N" I- q0 }9 s  C9 F0 E5 F- f& Z$ ^
    8.         }
        X7 |9 L4 \5 \+ V3 O
    9. }
    复制代码
    . X7 w) ^# S8 N6 v! @
    3 B: X. q: n* q! `& {" i4 C) Q. n
    css部分
    & h( S# F8 Z* Q1 @4 {
    1. /* default: chinese */
      / P; V# D5 F7 U6 ?% ^! s4 }
    2. 7 S) O% w- K- N. {6 ~  E
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}2 Y2 O& ~& D  Z/ E! h
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}
      + ?6 S) s4 ?# m5 G
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}
      3 H" d$ x# g$ v2 B5 }! H3 m7 _6 Z# q
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      5 G! P/ f$ [" I" K* g

    7. ; |& w1 _# L7 }: S; F1 `0 U
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}
      6 [' |% d( R) X, L$ d1 f3 D$ m
    9. ! `6 v/ y/ B5 i2 _9 L0 r0 f- V
    10. ! [$ F4 f$ A5 h$ T' b1 b, S
    11. /* default: no chinese */9 j% T2 A3 ]) u9 y; |$ Y5 M
    12. /*; o$ w: v" h: [) c% r
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}
      9 ^( r5 Z8 @' y  b* c5 ^  I
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}- t# f. k% ^2 x% {8 |9 s2 C- g
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}
      % f; s3 L0 f8 Q: W( e- I+ v* j
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      3 a4 O1 |1 |  W) j8 x! X
    17. 0 V1 j% b  C8 x5 r. V
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}4 O* S# f7 k# G- s! d2 j6 p
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}( c5 Z) h- q) h- j
    20. */
    复制代码

    : D$ v2 o# Z$ e) n2 f8 M: E8 O3 @4 w% M3 g8 I) x% y

    " x  r, P' A* u- ?1 G文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.1 F' q5 K% O8 U7 @* h6 t
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>
      3 o4 H3 ~" P# x7 O
    2. <div class="test" id="test">' Y! s& o1 a; x
    3.    <span class="L_ENT">, Y  O% |" E3 G. Q
    4.     test2 ], K2 _4 ^4 I
    5.    </span>( r, C- t0 F# c
    6.    <a name="L_topv">1 r# ~. @; j* F/ v
    7.    </a>
      1 D. W: q+ s0 P2 g1 W
    8.    <div class="L_MRK">
      * v" C2 ~' b5 W. @- u
    9.     <span class="cn_js" onclick="transChs_test(this)">. l2 r5 V; X2 ?- s% D
    10.      <span class="cn_btn" title="Chinese on/off">
      * c9 t8 b; C; Q' f7 ^1 N* u
    11.       Chs  ?. H1 x7 J  L& a& ~9 E* `2 r
    12.      </span>, ]1 o* E+ S5 e3 P7 v2 z
    13.     </span>1 b* L2 c4 t: f( @8 v, d) {
    14. ...( }+ D+ C0 l1 R( A* p. {
    15. ...
      9 H3 a, G' Q% ~, l, p
    16. ...
    复制代码

    # L# Y% _( t" f1 ]# Z' f8 E+ i6 O0 }9 i; z. P; ^

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    9 X: w" I8 n$ T& U( J* `- F$ }在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    - O9 {5 I- c& M$ z3 D都是大神们的大作, 抱歉忘记 ...

    8 o( f( s; K6 k2 v谢谢分享心得。 - A( e/ \5 B* q

    % p9 f% i! v* m: i5 R点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    3 v, n% `, k7 D) }! x6 `6 k1 ]1 |. L2 K7 z9 |
    (复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)
    5 E3 b$ l3 l" j5 D0 A8 @, u2 J0 C/ v# Y$ n# ?' o
    谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47
    # V7 U; ?5 _+ r) X9 z谢谢分享心得。 2 a6 f. c- |5 _7 |8 N( {
    7 K' c6 g! P- h; u- O+ c% f0 t' z
    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。

    . ]  e0 O' @! X7 q3 Z7 r居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    ) L: s& k* x6 g  E. S8 A+ a, c" r$ i
    0 D' s5 Q- P/ y5 u2 Z6 u只得重做, 之前的删除了.
    # u6 Z; T" j& n( L" `
    # O! [$ X0 N9 n: E, P3 I见附件如下, 不作参考.$ i+ L: j# S7 V3 d" }  U

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:509 L3 u  X: G4 B' A7 j
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.3 G! a* y6 u5 H# n' m) w
    都是大神们的大作, 抱歉忘记 ...
    ; o' W# y2 z! O4 k; l9 A
    颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:232 l& q. k8 P, V
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?
    2 x9 y0 G. p7 L/ y9 s: r, l- a. a  X
    都可行" ]" l+ z7 J8 b

    " Q$ o  P4 o$ O; ]/ d用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
    & O% ^, ~9 l6 F, W5 H- u. L居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...+ u$ t3 F1 E! @; X& k7 u0 i  ]

    3 s. Y. \2 _' {9 D' y, V2 p只得重做, 之前的删除了.
    # V4 J# A0 ]+ E1 L; D7 V# C9 V+ z
    很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:32! G+ s( T( p5 s% O$ @5 v6 \
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。% B- c! J+ G# B8 K8 h
      y2 Y3 y3 r* C, ^$ S& ~
    也发现另外的问题,比如一个页面中有多 ...
    % [7 |* c+ l" E1 H% b
    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:06
    : M2 `' n2 Z/ a使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。
    + v  x6 U9 f! L9 \
    嗯 是的( `' L: q/ }% M0 \
    5 h7 @$ \& y# Y* P
    看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 18:26 , Processed in 0.052686 second(s), 8 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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