掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1992|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:' d7 j/ j8 {& P# M! Y

8 b4 o+ w4 q: u* ofunction toggle() {
! Z' x0 _& ]2 B, P if (document.getElementById("showhide").className=="show"){  t. i' S: B% k
  document.getElementById("showhide").className="hide";
1 P0 Y8 L9 r" S  }3 |4 ^" O9 N% z
else{1 M1 G) O6 [7 ?, m. P3 I
  document.getElementById("showhide").className="show";, S$ i/ q$ s) d8 d2 R8 F
}
7 T) ^9 K: A5 ^6 W' ^% _}
3 R9 B4 ~( G7 H! A. [3 X  Q
% b) E. J  n$ Icss 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)
2 G) h7 u/ H# b9 t. Z+ h
  o5 W$ F# |+ |$ i2 B3 n% ^HTML / MDX源文件中 任何元素都能使用。, R9 d- O8 F: t- Z0 s
" i  n8 a& E7 b- q/ w9 m" d

8 G2 [) |3 S* w& O) F# W! k) f: C1 W4 P倒是有个问题也顺便请教一下:
' o9 ]- ?6 }: T: @7 X1 u; z& K& c4 I
- ~( ]( z$ H3 n" x我想显示隐藏中的前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 编辑 ' C0 Y& Q" P* }' K+ v- d1 E& {: U
    jiangws 发表于 2016-9-24 22:48+ s9 I. B' u  Q0 [( @
    好办法,谢谢分享。

    + E' X8 F' A. {+ J; u+ a- Z! F  D6 ^3 O% C3 w
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。, S$ y: I  v, Z. P8 O+ q

    0 U. k2 C% m* u9 ^; |也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。
    * V+ h  [- a$ f. R3 \
    0 C' i1 U- g  [) u, ^( P4 Q+ F: q在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。
    ! ^: S) i/ Q% Q( \: V+ N8 S7 l
    ! h# Q# N+ u" o/ o: d% }% m: J(点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-25 12:50:57 | 显示全部楼层
    想显示隐藏中的前10个元素、20个、50个、100个或者全部
    $ Q- a# E8 C5 d5 e/ ?
    ) o5 ^1 [( i) K% p3 M; r9 e
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.8 R5 S# [9 L) ~
    都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.
    5 A1 N$ z- f0 N7 [2 D8 m! t
    / _. _& ^# [( r4 E如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓..., o7 o( l  \" |  F! `
    $ V$ [0 M. @1 y3 _0 R' p
    如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.
    6 h2 a4 A) l' D: d6 e5 l5 f
    . T1 T. B# R  D2 U* N这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.
    2 ?( [8 K6 J% h1 a: ~3 ~' e# t+ F4 V7 }. `/ H' w/ Z* O
    大致如下:
    ; Z8 \9 T. Y3 U2 Y8 {js
    3 D) n! X5 S) e; ^
    1. function transChs_test(ele) {
      0 v, R, E8 X) d( B. t3 O
    2.         if (ele.className == 'js_active') {* `/ k7 M$ A) U7 \7 Y1 \2 e
    3.                 ele.className = '';
      9 `+ s1 A% K3 p: A- b& W
    4.                 document.getElementById('test').className = '';
      % k0 K' z* m7 w$ v
    5.         } else {6 J( Z- r5 w; M, A2 M+ c7 H9 C
    6.                 document.getElementById('test').className = 'js_chs';/ y! ?' d% m+ p6 B5 i
    7.                 ele.className = 'js_active'2 ^) w: B: l0 ?, b- d; w$ H
    8.         }2 X* w' a. |* l# M$ y2 p+ M
    9. }
    复制代码

    ) y( _( M- X& p9 M" o' i, C
    + W1 b' d( {) ]  u7 u' Kcss部分* {5 }$ ~; `6 D# g
    1. /* default: chinese */
      * g1 a: O3 _; V! t) z+ `
    2. ) h* z: F2 s: w& F7 u& u7 `
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}
      ) K8 d. W  \$ V7 W/ L
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}+ I$ k% x# h2 Q2 `. O
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}; H) }# O4 T% M1 p0 N& y9 V
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      / I! ^2 T+ |5 K- m0 c; X% t

    7. # v' G$ F; z) c
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}7 ?% T$ @' k2 R' g" o% {
    9. , S) t( M  u, K0 P9 m0 |3 Q; ^6 F
    10. ) `6 y4 E) }) W
    11. /* default: no chinese */
      * M/ F+ T0 u( G+ \5 _; N1 V
    12. /*
      8 B2 |2 x+ Q/ Y& X2 U  j; U+ N
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}
      9 s# G" P& J2 e& u* H
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}
      9 Z0 f* _) B8 I$ |, A1 o
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}' x  O; g6 r  Y: }
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}) A# E7 y9 o) s, H9 C0 W

    17. 9 x3 @* f8 z1 ?+ f
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}
      ) h5 J; ^/ ]+ B1 P
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}
      + s8 O. S( ^! ~3 N& Y: w
    20. */
    复制代码
    ) s9 V2 z& d- e: p' w5 b' l2 f
    " C6 z7 I, q! ]# S4 f8 o

    / s% x! s0 U$ V) r: m/ `0 k文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的., X* ?/ Y9 w: w0 u
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>
      * k4 m; q3 I2 E
    2. <div class="test" id="test">; K) C" U, ~9 F1 m% a& G
    3.    <span class="L_ENT">
      ( k  ]; V! P' @6 q
    4.     test9 p8 ]/ p! `, q) Z$ q" q4 X
    5.    </span>/ n! D% K4 X% s
    6.    <a name="L_topv">& `* g& H& T% X0 I  l1 s
    7.    </a>
      3 Z- v& `. I, \
    8.    <div class="L_MRK">, U7 b4 G$ U9 ~: W/ z: Y
    9.     <span class="cn_js" onclick="transChs_test(this)">
      ) ]4 I% o' A. Z6 A  Y7 N+ Q
    10.      <span class="cn_btn" title="Chinese on/off">
      ; C! b! L3 M1 z2 _9 g0 U) i
    11.       Chs
      ' R7 e/ @7 e2 ^2 ~5 ?; t$ V
    12.      </span>& `$ v4 {$ a, ]9 a
    13.     </span>: o9 j; _/ r4 D& D% o( e6 R
    14. ...$ c5 _* h0 o8 d9 f/ n/ {
    15. ...7 \  N9 w, T3 O1 R* @1 ~
    16. ...
    复制代码

    + D* N# B2 l! o5 h- X
    - O: A, a6 E* m' h6 u

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    ! F: m- v* c: n: _. N# S在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.- h2 T  M8 B- H8 [: G4 `# f
    都是大神们的大作, 抱歉忘记 ...
    1 r7 b4 e/ q# ~% k- [3 J
    谢谢分享心得。
    & @  ?. ^2 I8 ?! n$ ]+ s
    + z- x) ^0 J& [点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    ! @6 G/ c( N6 p6 ?0 f
    # ^" N+ F- K" [3 k8 U$ @(复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)$ l8 c; e" W5 W  |

    9 F' F# @2 |1 e$ t* ]! e! s谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47' i* R+ n4 R- B# c; m
    谢谢分享心得。
      b0 c+ n' Y5 w- B7 B* a2 v) [& Y7 n! b) J; `4 i
    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    + _' L3 g# d  [& {4 c
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    % k: B3 e$ p2 x! d! |% c% \( n! j# V0 |" X6 E' a
    只得重做, 之前的删除了.+ i+ t6 v2 V. P

      T5 u# Z0 w0 v见附件如下, 不作参考.
    * s, F6 b% ^; U( t

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50+ C6 f6 Y# W; T6 \! y- l
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    , `1 l3 t5 {' x4 ]6 S7 I/ ^0 j! ?8 o都是大神们的大作, 抱歉忘记 ...
    " D) P: G) I7 `$ }5 Q  o7 R9 @3 x
    颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:23) i: l  U, ?. |0 @, q
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?
    3 r0 Y' Z% H; i
    都可行; u1 H0 A9 x1 e$ `; s

    / M# B. ^& |) 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:566 r8 {: Y( a# k4 M) m) s5 x% I  N" X  `
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...) f3 m6 h* P, m2 L6 `2 B* f5 d
    5 h! i6 _/ C0 M5 g( \5 Y! p
    只得重做, 之前的删除了.
    5 m; F( _8 _6 z& ^' o: I
    很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:32
    + a7 j6 u) w* b) ?后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。7 v9 G- b, X8 D

    9 V; E/ @. m( @( r  _也发现另外的问题,比如一个页面中有多 ...

    : Q. L8 a/ t- ?, ?4 ?使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:06
    / G8 E3 }6 `8 J: }使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    2 X* t, A0 L1 I& m" p8 n$ k; E嗯 是的
    3 L  v2 r: p- o1 F
    4 c* e4 M" e  T0 W8 R/ K看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-5-20 06:16 , Processed in 0.037791 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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