掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 3595|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:
8 o4 Z* j4 j- l2 t) J9 s" v3 G& w0 D3 B: I1 L
function toggle() {
4 w6 F' k4 z! u if (document.getElementById("showhide").className=="show"){8 q; Q1 g0 Y# M3 y) f
  document.getElementById("showhide").className="hide";
6 L5 c+ [- Z2 o6 x$ Z& {  }
8 Z: w2 x' e" {) ]. Z1 Y& |9 G else{: k  C& Q# y& \7 D7 H; O5 H. [$ ?
  document.getElementById("showhide").className="show";+ Z. D. k& O- m  Q( W0 {  W0 l
}; h& p4 D1 s! Q8 e4 L
}
3 i( R! I* F: u4 j% C
  o/ {/ b# r6 d; u; ycss 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)
  P5 J" ^" O' j2 Q4 H
9 q' f: c9 o& L# K8 s: T' MHTML / MDX源文件中 任何元素都能使用。
4 @" D. u: n! V  V7 M. a; h1 K) w  o. T) Q6 G# Y
% x% n2 H& F( i3 f2 H4 W8 ~8 w+ |
倒是有个问题也顺便请教一下:' G" e5 \. F. W! r* C
! w* M2 d/ `. B# m
我想显示隐藏中的前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 编辑 4 ]  J$ U' [% g
    jiangws 发表于 2016-9-24 22:48
    8 `- H8 ]% W% X: |9 b& w好办法,谢谢分享。
    9 i% ^3 b  ]  P& q, \! l% {6 z
    $ @  a# V! J; m8 \! Y1 S" Y/ i
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
    , D+ g, w' g& y; B
    4 }8 T: ~; C) c: M也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。
    4 O& M4 m: W7 ]9 w
    - @! J. Z/ ]: K) p) z在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。
    ! h$ |7 e0 h3 A, G* K( e# t* i! z
    * D2 z9 s  E  H5 z, l3 a# b; Z% v(点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

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

    . N, m! A& c  @/ j* D' v
    * r$ J! t. s+ d在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.7 [* q' E! m0 |2 d7 ^: n
    都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.
    & q% K2 V8 F& R8 B& ?0 u# E; I$ f: h! @4 }
    如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...9 ?6 D+ c# u- j2 ?6 F" R& o; P* L
    6 j1 w! y9 x1 n4 \2 k
    如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考./ h" C# p. O# t# W
    ' s. _/ {$ B7 h9 J, b6 G
    这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.
    2 g& H2 F7 d* s( Q# z/ Y8 O6 ]$ s  `7 D7 ~$ E0 `9 F4 F" M' v. d% R
    大致如下:
    2 M; u. \! e; n5 sjs
    " z' s) w! M" P' c, S* i2 ]
    1. function transChs_test(ele) {3 C  [+ S- [9 w% |9 }, n% C% j
    2.         if (ele.className == 'js_active') {
      : X/ X- T- Z  h( M$ b
    3.                 ele.className = '';; d+ g4 y6 ~8 q
    4.                 document.getElementById('test').className = '';  ^$ T% H7 L' l! W1 o) h
    5.         } else {+ [& h2 d/ D. X& k+ {! X
    6.                 document.getElementById('test').className = 'js_chs';
      . U6 M0 K0 g  D$ @: T+ m1 k
    7.                 ele.className = 'js_active'
      . i  [) m; u. O5 n0 W) @
    8.         }. u# J( ~( C" y! E! w1 k+ b- V$ L
    9. }
    复制代码
    ! s9 }! }1 l. e
    & \2 v1 S" m$ s: ^2 `$ l5 w' }: A
    css部分
    : H# d* F& G: }
    1. /* default: chinese */5 z  w. h1 J* n1 v# j) c8 s, R; u) r

    2. . t. ?- x( W5 P1 M
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}
      9 R3 [; S' @. i0 x
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}7 _( e5 s" }9 \. h
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}
      ; E3 q+ W" L0 ~0 Y! k( G& _( E  L
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      3 A/ m3 g5 I6 k) w

    7. 1 @% p6 H# q& N/ w: y/ ]- `
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}" z) |, @" ?, ]- T: Z! N0 p

    9. $ ?: ?6 `$ j6 E$ G

    10. * `1 V7 E- J6 o6 w/ ^3 X' X
    11. /* default: no chinese */
      % A/ k' W6 g) N. C; @! j! j  e+ S
    12. /*0 A% P' v" R/ h1 l$ E" z  T, g- c
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}
      - a5 H" S2 @. D1 p6 e& r" a
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}4 x- T7 c8 N6 B+ U
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}: f+ ]7 S1 A5 T( w9 ]
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}  a2 m# t& J9 k  u1 u: ?

    17. ' @8 e4 k7 `# f8 [; T) P
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}# ?( \+ L0 y8 v, g" t* b
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}
      0 l8 l: i) {6 Q( d9 ~6 {7 I, y
    20. */
    复制代码

    2 d9 ~3 A6 E3 |" x+ o/ R5 ?2 G' m  X# G
    ( p' v& M4 Q8 Y, _5 a9 ^$ a6 k
    文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的./ c& s# b: u9 C  V3 o8 E
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>
      4 m- |2 Y6 s# W* R- x' J1 n% I
    2. <div class="test" id="test">
      1 G/ o' R; T# h6 h' ~: y' t- m
    3.    <span class="L_ENT">
      5 C5 {" O2 e/ b! G  R
    4.     test- G. ~( w: C0 x5 t9 b
    5.    </span>
      0 J) {0 D5 {0 h4 O5 ]. ]
    6.    <a name="L_topv">+ L- R7 Q+ v9 l. a) b4 Y. m) q( N
    7.    </a>
      / g- A( \3 e0 x. s2 c( ?( c
    8.    <div class="L_MRK">
      + A6 ~1 C6 k8 o- _8 L/ e
    9.     <span class="cn_js" onclick="transChs_test(this)">$ K" y& s- L( N
    10.      <span class="cn_btn" title="Chinese on/off">0 j+ f  _8 c$ ^9 M1 v# o) H. _
    11.       Chs
      3 T5 K3 ~6 |$ _1 A
    12.      </span>
      9 U. E6 C) S+ q) j
    13.     </span>
      ; @2 D+ W, l6 }, H& T, d" f
    14. ...9 M+ J2 w8 }$ _) X. l
    15. ...
      8 H4 ^  O- e& U2 g
    16. ...
    复制代码
    ! N5 a% z# R; P* q
    % n/ W# m! m. k# U/ y

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50' k, r* P) g4 @( }! M. Q
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.& @  z3 S1 A9 Q% M% |9 R: v
    都是大神们的大作, 抱歉忘记 ...
    1 A) {# s9 P/ A
    谢谢分享心得。 3 B4 \5 H6 g# R7 ?' }% D9 j

    % A- u3 R; c' i* a" @( `, L" i点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    " \: l5 d% ?0 C; }- ]$ W  w) X5 k& \% w5 y4 X
    (复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)- D" ]- w% C% m& B5 ?! C+ L: _! L

    2 u* b. \. W! J+ {2 u6 C1 O: x+ A谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47
    4 d# k3 V# c5 ]! u" i/ |: J谢谢分享心得。 . @. R+ R  _! D

    , @; f7 M* h( J2 y( g& q点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。

    4 L9 a  L5 m0 Q2 [居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    ( I- h' s7 K1 X( n0 l( f
    ' V: x1 o8 q! T" }1 Y3 w只得重做, 之前的删除了.5 @" F4 o) q* R% S! w! ?% o
    ! E0 _( n, T# D  Q! P# C  R* C
    见附件如下, 不作参考.
    ; a) h1 J, C2 L$ f) A/ M" x

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    5 N: R# z% I7 N5 r在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    8 d; _# ]& _( \+ L  x都是大神们的大作, 抱歉忘记 ...

    6 W+ C8 R9 b9 a" B+ u9 U; s颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:23* d3 b. k4 c7 R) j2 e$ {
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?

    5 K2 N9 }9 k4 N4 A! I都可行& q( v9 n0 {5 u/ G% k
    - I5 x) O  ^0 \( }3 I; T2 |' @5 e
    用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; L, H; ^/ I2 e' P
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    9 C* ^- W  u8 p. ?6 n6 N- i1 S8 `' D! F7 J
    只得重做, 之前的删除了.

    ; N6 l$ Z: ^8 N7 b# _很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:323 b# l1 l; v3 g6 h2 R
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。. _  \4 u/ h: d' t2 g3 s
    2 `. B' n, y7 z4 r
    也发现另外的问题,比如一个页面中有多 ...

    7 r: G3 Q; {3 [( [! M使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:064 C6 |% v9 i0 b4 c5 |
    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    / |; W; a/ F0 D. M: h嗯 是的& n  z4 h1 E5 ?' n
    - X( Z: O2 b" ^6 s8 [; ]" t
    看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2026-10-23 10:24 , Processed in 0.020978 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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