掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1962|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:  L1 u! z+ v. b& L" k

& i9 Z5 y1 X1 ]& L$ w* ^function toggle() {
' v: L! U# a( D1 Q0 Y8 P if (document.getElementById("showhide").className=="show"){7 ]  f" D) X+ \2 x/ W9 T7 R
  document.getElementById("showhide").className="hide";" W) H: K8 M, J
  }7 X: v$ y& R- Z) L
else{" L  Q$ ~& O3 [2 k
  document.getElementById("showhide").className="show";
. J2 i  a1 V" g- N }+ X' ]8 a3 P+ A/ e6 s3 |
}
2 z% `* j# C9 S
4 ^8 v; {7 A) I! _- w. {  m) ucss 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)
) k, }4 |9 F" A  Z% a$ g' c+ Z" ?9 @; T# ]
HTML / MDX源文件中 任何元素都能使用。
) o/ G. z3 K1 c" D. u: f6 x6 U. n
+ N$ b# w$ n( S' s3 b! k' v" x) e! ?) b% I# |
倒是有个问题也顺便请教一下:1 U2 S+ j$ R/ v
' o7 Q: Z7 V  b, Y6 `0 B
我想显示隐藏中的前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 编辑 5 m9 Y% N- h9 `* I) a8 D, t
    jiangws 发表于 2016-9-24 22:48
    1 U; I$ Q7 b0 P/ Z  @好办法,谢谢分享。

    $ Z5 y; d  o- o" D. O" b4 `8 a' w
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
    1 ^1 e# W4 F# s. w1 C: b# j% E. _3 n- s. @+ j; y. w( j. @, D
    也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。
    * a! z7 b( S( M$ z+ J0 b
    $ `. k$ C  w* q! ]& C/ s! j在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。- M1 E9 q: c8 \4 o% i. r' `1 k% W

      [6 o. k; `2 y) U* c(点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-25 12:50:57 | 显示全部楼层
    想显示隐藏中的前10个元素、20个、50个、100个或者全部
    " P5 ~1 g6 s" B, W' ?! j- s, U2 R

    4 M! B: H, Q5 f$ Y. K在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.( r2 g1 G5 h/ E3 {; v+ \5 j
    都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.
    ' E4 {6 a' n" ]% T5 C& Q/ s! {+ W( e! a% J8 @! U
    如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...- u" K! ^$ r) S  C) C
    ! Z# S$ y' p6 {% L, ~8 Q
    如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.
    9 L! p; v9 `& Y6 O" J4 g
    ) v: M' H) Z4 t+ N这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.+ K  ]3 d' S0 W( A- m. L
    6 [0 ^  ?% c) B0 l: ~: L% b) j: K
    大致如下:
    ; r! G' x5 {# C& V: v' l. @5 Ijs
    1 N6 z9 k  }5 P
    1. function transChs_test(ele) {+ F: m- f/ d% L; V5 I
    2.         if (ele.className == 'js_active') {+ X" g* v) Z" y0 r2 K2 n
    3.                 ele.className = '';
      % t8 m% J$ l1 S: q; ^' F8 T$ M
    4.                 document.getElementById('test').className = '';% v* |, ?0 c3 ?* ]; m( O: J1 j7 O9 p" a
    5.         } else {8 `4 r8 }* I4 f3 l7 }" y/ _
    6.                 document.getElementById('test').className = 'js_chs';
      - s! q* x* H$ Q: D, D# m& O" u
    7.                 ele.className = 'js_active'0 n& {& @' G) U% }& N- {# Y2 c
    8.         }& K( ]" Q* J- D3 S
    9. }
    复制代码

    9 m. \7 {8 b% t& W0 k/ A3 O1 G5 r2 v! ^3 a4 k, y7 S
    css部分
    6 G* ^% x6 ~. ~4 ~1 f
    1. /* default: chinese */
      ' K, y3 F) @& g6 B

    2. ! k( E4 {! o0 J% j+ h
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}8 t  U0 d. q; D, p- g
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}
      7 l5 @$ F% P( g( L
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}7 u; K1 E, N" ]; }5 p& h
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}* D: B1 W# e, L9 D& i2 i3 j

    7. & p7 f1 u# J# D7 m* P; I
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}
      # x: d! h! x% k

    9. : S! Q. L2 W3 o, C

    10. / T$ _6 d/ X0 ^; f3 R4 B3 L) d
    11. /* default: no chinese */
      4 U: O$ u: P# O
    12. /*8 l. G* _2 v+ d
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}
      3 Q1 _+ _% n) V2 i1 z. J6 s; D
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}
      " H- E: s  s+ s* Q) H* X
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}/ b  e8 v8 W  V2 k4 s
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      ! X  h$ k0 ^+ `# b$ P
    17. % I/ J6 `2 w( {, e* T5 a3 ]1 u0 G
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}
      . }4 E) A2 m& M7 m! h) r1 m* q5 |
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}
      2 u) }/ [" T+ ?9 [
    20. */
    复制代码
    9 I; J9 P1 V' z( N8 W
    8 w4 q! ]8 R+ {  f$ b+ M

    9 L: O8 c- W3 }3 q, @2 W9 t文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.
    + G7 p# Q6 z% `- B! `" m: X1 k
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>
      9 N: C# Q7 j' L1 i; x8 r
    2. <div class="test" id="test">
      " ~" X/ V* O1 g- s
    3.    <span class="L_ENT">
      ) V5 B& c# n: L6 O4 [
    4.     test; ^& F. S) B4 w3 \* Q2 _
    5.    </span>
      8 O( j3 N, O, N( O' S9 G
    6.    <a name="L_topv">  u3 c8 l& I" x% z4 S
    7.    </a>( Y& {# L/ B) b2 `* W5 I
    8.    <div class="L_MRK">
      & u! a8 G4 \9 \9 d( h
    9.     <span class="cn_js" onclick="transChs_test(this)">
      3 @" B: X# T, B5 x
    10.      <span class="cn_btn" title="Chinese on/off">
      % H5 Y1 l& k0 x7 E, g: k9 v
    11.       Chs3 W1 ?7 W: ?& d' @- S
    12.      </span>/ T0 d! I6 p0 p. R
    13.     </span>
      # M5 C  k$ l" H! I) A1 k
    14. ...+ N: k# Z5 Z4 I2 x
    15. ...3 R( b" J% o6 l1 m
    16. ...
    复制代码
    # }4 ]# `: m. j) b
    ) A6 ?) s% G6 N  T7 ]5 k  v

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    ( `/ \9 c! C/ H0 B4 w# S- ?3 K1 Y7 |在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    $ @5 }3 p- V, D, t  ]都是大神们的大作, 抱歉忘记 ...

    8 ?8 c2 a/ t) R5 w  x谢谢分享心得。
    " b9 }0 s+ o$ L6 S+ ?( A3 L" X7 q7 _8 q
    : H$ u2 M  C9 _2 B7 N点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。- A+ J/ o; R7 h
    ' ^9 s) z5 {; O9 c$ S* u' `1 a5 N% k' ~
    (复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)
    # ]: f! I5 D+ W  ^
    ; w1 c1 i- _& U" M% u谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47* g9 `4 q5 D7 A( l
    谢谢分享心得。
    + U: Q! Q# U! D+ b# q
    ; Z2 z; k& w8 }- \# b6 Z点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。
    ; f1 }6 l8 L* [' S4 h
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    ' G* W0 b" V9 Q" Z
    6 m2 Q5 g" B' W只得重做, 之前的删除了.# H/ E# K- M: x. q% V

    ' @0 N* i) r7 `见附件如下, 不作参考.
    7 S. Q4 w+ S+ F* W" y

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50) v: Y" u  W0 t" l+ K! c
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    0 l/ m7 u8 _% ?" P# A' ?0 Y都是大神们的大作, 抱歉忘记 ...

    . F3 P% n0 H8 Z7 F1 b' p颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:23
    ( m$ E' j  U+ p6 Y0 o$ M我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?

    ) Y6 p" [3 l; E4 ^都可行8 _- G" A& n; [5 U1 G( T5 |

    9 C+ h0 C% I: f6 d5 Y7 \6 p' 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/ V* Q9 y) B% u7 V5 d
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    , V  j: G: x8 x5 x) z0 `" l: c4 b% g6 {) v8 W
    只得重做, 之前的删除了.

    # h$ N: v5 k' T* x- D7 P' [2 X很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:32
    - G5 z/ {6 m# F! `1 M) O后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。9 R. v( s: ~. `1 g! y* f6 L: {
    ! D% C; C3 g  K0 a) |+ x2 q) J
    也发现另外的问题,比如一个页面中有多 ...

    ! U& c/ G/ g; Q1 ?( Y1 z使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:064 r4 O$ V( j; F3 O  F$ m
    使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。
    / d, U+ u9 E+ c! h; V; x
    嗯 是的
    3 c% {" V; R% N- \# V# H3 O! q2 f. f; _! R4 b0 Z
    看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

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

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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