掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1985|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:& R& ^1 o$ Q7 M

, i( W2 H  l' [1 efunction toggle() {
2 G6 y4 Y5 Q& K+ N& p if (document.getElementById("showhide").className=="show"){
, e+ @8 z( e4 `: {; x* j  document.getElementById("showhide").className="hide";& x8 {3 y. N3 Z! n$ U& o( k8 |# s
  }' H" V4 s. Q9 u( M4 ~
else{$ E% Q, \7 B* [
  document.getElementById("showhide").className="show";' d" V/ v2 f- J
}$ |" h4 n) S& ~# X& ~
}
& T: q1 G/ }0 `  u* x5 {% b+ M+ O! F% k3 [( Z' g
css 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)* `1 m: E8 J0 t8 k/ _9 m$ u
9 g) t5 n% o  m3 i' P& I5 @) \6 h
HTML / MDX源文件中 任何元素都能使用。: T& @0 ^. w3 r( w' p
' f; o; K1 L6 W; S6 {0 x% m

! Y: u5 o/ o6 e8 J4 M2 M; H* g6 ]倒是有个问题也顺便请教一下:
5 ]9 j' R/ l% I, P" H+ i& ?1 ]2 z, |& T) J- b$ i( 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 编辑
    ' S/ g  Y3 g' {2 D
    jiangws 发表于 2016-9-24 22:488 r9 y# D% \- X& X2 h- V* n8 n
    好办法,谢谢分享。

    ; V" F! D' L4 J; Z
    9 J8 o  h4 j0 ~后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。% `1 O" O1 r, T9 h; _4 N
    " R# Z& u$ }0 W8 L( u2 U
    也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。
    . z( j4 m7 c5 c
    " \0 i3 i) d' i3 ]# T3 r5 T& J在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。8 I  v5 k. O7 x
    , a# ]- r3 j, n' X# P. u' s
    (点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

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

    1 U8 y4 k+ A6 z7 d. w' l% {" M7 q- |4 [1 I9 o  Z5 z
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.0 e5 m8 Z. a( ]; }& {$ l  x/ P% ^
    都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.- N- i  e$ M3 U5 {) w6 _, ^
    ( n9 b6 _/ p7 H/ m
    如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...
    % D: M) |# F5 h+ b) A3 f: x8 n4 }8 ~& c5 N! O0 a
    如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.
    " l: F- i. I$ C7 K8 H1 w' [  M, [. |  _, x: _
    这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.9 P3 g  `2 T5 f* I) S) p

    # B  v9 d# K  t' ^3 T大致如下:
    # ~* W0 u  I' n2 M/ w; ajs% j* R/ P# A8 t. j* n0 a
    1. function transChs_test(ele) {# q$ V; o8 R) f
    2.         if (ele.className == 'js_active') {
      % G* k4 h; D5 o) {3 A6 [
    3.                 ele.className = '';5 w0 b2 U5 y) }/ y2 Q) L6 _! j, M
    4.                 document.getElementById('test').className = '';/ Y4 Y/ p8 S8 o2 R% N$ L5 q
    5.         } else {2 x* N0 v0 p! Z  g
    6.                 document.getElementById('test').className = 'js_chs';- W$ e6 B  l; O# {# M4 B$ K+ {
    7.                 ele.className = 'js_active'! [6 b- M8 _" q8 k
    8.         }
      ; }( g, Q  y0 E
    9. }
    复制代码
    $ e9 |; V. m  _8 m+ E4 F( V

    9 j- c+ F8 z, p1 y2 d9 q6 Y1 Lcss部分
    ' [  o) Z+ I/ w( r8 f) S+ I
    1. /* default: chinese */( e0 g; N, P, c- R$ v, }
    2. 3 x+ T3 {6 r. |, P% g
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}
      8 [- X% W' f$ {$ d9 p2 K7 P
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}- @4 v; P8 b6 G8 H
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}( J2 o# A: I4 x& {: j
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}  Q7 F% c2 ?- c
    7. ' @% F4 h3 M+ l+ M3 h6 u7 k0 A0 `
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}
      8 m) I, Q6 ]* u0 s, Y, p. C

    9. ( c1 h& u  M8 o

    10. 9 D: g6 C; e" z4 t7 I/ Q5 o
    11. /* default: no chinese */
      8 h0 G4 R2 ?. D% U
    12. /*
      9 c, F+ V3 r( Y1 B0 u
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}0 b6 B0 d- W2 f. R. `6 y1 V* I7 l" F
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}
      , O- A  F0 F" d8 A9 _
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}
      ! F1 |4 L+ {8 A/ x9 z3 F+ z
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      2 J1 {( I6 a9 ~

    17. 8 ^/ d& W5 M. L& N2 l
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}
      ! L  L6 F, S& p& q9 ]& q5 K% C
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}
        y" |( G' b0 ]  ]+ b% I  w, M4 F1 W3 G
    20. */
    复制代码

    " b0 b' B) |+ m4 R7 B% t/ l, A- c; h8 `5 Y  W/ E
    ' {3 P& f3 J% o! C' W7 s9 G  a
    文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.
    8 |) L" R3 q! _2 ^
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>% M; N; V6 y9 y! `1 H: K" h
    2. <div class="test" id="test">
        `6 C3 v0 c% a  u' [
    3.    <span class="L_ENT">4 O  \* |1 c' O, ?" G4 `* [
    4.     test4 I9 n7 _4 L8 {
    5.    </span>
      1 i2 z2 @# s& V& [! E0 K9 p
    6.    <a name="L_topv">
      ; O3 ~: j* s3 j' q0 j  Q3 M
    7.    </a>& a7 z# S3 q$ t  T! ]2 @& c
    8.    <div class="L_MRK">; K3 Z/ l# S$ J% ]8 o& T7 N, i
    9.     <span class="cn_js" onclick="transChs_test(this)">% t2 B' z% x; N& t
    10.      <span class="cn_btn" title="Chinese on/off">
      , F$ Y5 Z! g4 g4 j% _% m+ O/ C
    11.       Chs/ N# \) ^  |4 u8 m
    12.      </span>  K) n3 c9 d0 V; g: v
    13.     </span>/ F3 f5 W8 C; ]! o7 i2 w% z! R( f* o$ [; j
    14. ...+ p" T$ i- ]6 a
    15. ...
      & {4 Z+ Z8 |5 y) R
    16. ...
    复制代码
    4 a  B/ t. ^7 c

    7 ^# |$ [1 M0 m, |

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    6 ]9 e# }% ]9 q$ R6 j+ z* K" i在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.0 w% n- z8 k' ~6 {0 J
    都是大神们的大作, 抱歉忘记 ...
    " h+ L8 t  @. ?# \1 b( o3 U
    谢谢分享心得。
    % q# x5 ]) c! n7 K" a' y2 P
    5 T4 W2 n( S/ c点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。/ O7 v8 N: g' n

    4 g' D$ m: w* v(复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)6 [8 n& ]" N( Q1 p
      D2 Z5 ?) e5 V% ~# h2 K" |
    谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47
    0 ~. L9 J, o- o4 p  n' D2 [谢谢分享心得。 0 `# I- N8 v' Z* s1 Y. D
    ! I$ s$ {; U  Y; `9 |
    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    , S6 a# z! \/ w1 y! E7 W; f  r. m
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...2 Q9 I8 C" _+ i8 }

    , x% R8 N% z: x' P, Z9 @只得重做, 之前的删除了.. m, h% j0 o; k# A* S6 O

    - @7 u% ?1 \# x0 k, {& `( k见附件如下, 不作参考.# i3 W1 M, q- W

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    4 o( J" M4 W1 x5 c$ ?. [在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    + G8 b3 o# `$ {5 ]都是大神们的大作, 抱歉忘记 ...
    5 v: g; ^5 V+ S* [
    颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:23
    2 }7 c" R  U1 ~& G% E+ {6 D我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?
    3 ]" E: X2 p" V. x
    都可行' K& U7 B$ X& g$ g" _. m5 H! N
    : w6 R) \, u# ?; F2 Y7 i, K3 U. Z
    用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
    $ Z- I6 E) e' k2 r居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    ) J. }% ]0 b$ r& w& I- S9 ^5 E) r* k' O0 l
    只得重做, 之前的删除了.

    2 C0 s0 Y0 w& n! t4 }8 L很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:32. x+ D: t7 ]" R  ]
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
    2 I5 W* D5 A& Y# I( Z) S3 m3 r9 i% S7 `; A/ u7 v. M
    也发现另外的问题,比如一个页面中有多 ...
    $ u3 G% f7 _* V0 t' Y0 v7 e$ x$ m
    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:067 d' _7 m0 _2 i, Q. W
    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    & ]# E2 T, G4 H嗯 是的
    ! O8 r1 d9 O( z# ~7 t1 N
    ( M7 p0 N# g3 ?$ P. N看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-8 22:03 , Processed in 0.052941 second(s), 9 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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