掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1963|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:4 G4 M  _& M+ \( M* @

1 L% \: l5 ^% P9 [function toggle() {# u' E! D! w4 H4 @* @8 q7 U& ~/ Q
if (document.getElementById("showhide").className=="show"){4 K' U% X  Z! z/ D9 j
  document.getElementById("showhide").className="hide";9 e$ p& f2 s( V3 ?; ]6 p9 _
  }
6 E: p- a# s5 i' A+ f2 H3 y else{& f+ _: D. N( k- ^! {6 z: a  A
  document.getElementById("showhide").className="show";
  w+ x; @% ~7 N4 n }
. ]! R$ H6 U  |$ M* p}6 Z& y& T' a& N5 o: Q9 ^

9 Y& i5 a* I% |/ E" r0 p. }2 V7 Q& I) zcss 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)
2 j( O: V& ^  l9 N: s
% V' ^- W* V! q/ c! m) v. \HTML / MDX源文件中 任何元素都能使用。7 i+ e0 H( @* {6 E6 s. ^4 @+ D

$ T+ L5 e5 A! Y
0 ?3 P3 H* k3 f- k倒是有个问题也顺便请教一下:8 @0 P9 `0 i2 ^4 L7 C8 \

7 G* q$ Y6 n0 Q# K) I我想显示隐藏中的前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 编辑
    " ?6 C1 ^5 _$ P5 K7 L/ `
    jiangws 发表于 2016-9-24 22:48
    4 l# K" W7 a+ ~5 A) w好办法,谢谢分享。
    8 @" e+ K3 ^! z9 [
    6 I+ b( X4 S5 n! Y( D& U2 s
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。
    2 }7 w+ U- s% L4 z  y9 u- C. i) C7 k4 y* d1 W. p  c3 f$ @' R' b
    也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。; R; X1 z9 B) s$ b1 l* h

    4 u# {0 u0 u/ @在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。
    ( V7 T: z* s7 y5 S* Y7 q" p4 C& V2 N' P
    (点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

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

    6 ~! z0 K  W( l( l; R
    ( x9 N: t; S+ R( i* M8 D9 S% i在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    & Y2 }) P4 H' Y/ Y3 G( D都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.7 Z$ C5 d, [  G' E* q

    6 ?2 i- x5 D1 ?& `5 I如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...
    / q$ b: n- D& \! L
    . a+ @, l. x" z, ]如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.$ [0 a2 J9 F# t2 I$ U' C
    6 g7 q$ c3 ^+ U. S6 Q3 y2 x
    这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.
    # x. [5 U2 i2 k# W6 F  B* X6 }8 o) N' X7 j+ m' j3 V2 N$ ]- a
    大致如下:
    . P, |! ^7 o0 y  i* @8 gjs
    ) _* g$ U- S, w2 c
    1. function transChs_test(ele) {
      8 Z  g* t9 x$ G/ a! P" v$ b: S
    2.         if (ele.className == 'js_active') {4 `+ c; V; |1 N
    3.                 ele.className = '';
      4 y, k0 C7 W5 C1 S! g6 T% A5 ?
    4.                 document.getElementById('test').className = '';
      / d9 j4 m1 p5 u% m$ N  o$ h
    5.         } else {
        w, P; A8 s. s5 r
    6.                 document.getElementById('test').className = 'js_chs';+ W0 x  c7 q9 Z( c  e
    7.                 ele.className = 'js_active'/ e# M$ f3 s/ ^  A% t4 o: j
    8.         }
      9 b, E# b4 \$ _4 E  s( l
    9. }
    复制代码
    3 J7 g; e& w! P- ?. }: v! T
    9 {+ c- d- H, a% z' P, V3 ~
    css部分3 b3 t* n( I" |4 ^# D* m4 V
    1. /* default: chinese */4 H& Q- @+ ]; j! F( V
    2. 6 q7 B+ v$ p  p# |* A: U
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}) P7 E/ ?3 B3 C5 z8 R
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}9 {1 u# p; |3 c3 D4 G( F1 k
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}
      9 ]& Q, T: t$ A, @: J+ f3 |* ~
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      + n' R  Q% T" ^; V

    7. * s5 Q: N) J! X: |. \
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}
      * v. u( K1 _+ t2 U0 m& Z; {- f4 L

    9. $ E% S; x! d6 q, c$ y2 I, ]' G5 n

    10. & d9 v4 I* `2 O+ t) b
    11. /* default: no chinese */( G+ d2 \  g$ H8 c, @; M; S7 Q
    12. /*) I; B* Y! I/ X& x. m
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}" H5 X6 V, e/ u: _2 c9 M
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}
      9 `% H9 a* E% M. |0 S5 u+ g
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}: [% z1 n" K; \) J
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      " t7 E! u' y) H' K  w7 [

    17. 3 z7 b# G1 {/ S4 m* V8 x/ U: C3 [
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}: L+ J  A* G$ O0 T4 c* Q( \
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}
      2 l, g  A8 C3 t0 p! E/ a8 N7 b
    20. */
    复制代码
    : M+ S9 {" K9 r& d2 V" w; Q

    ' Q$ P9 s, M, n6 N7 J- G
      b. A) I0 U: F6 `) E4 r* ]文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.# n: K# i) m& @( ]2 {
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>9 ?' P7 t) \) Z7 m9 [6 H
    2. <div class="test" id="test">( z5 O" e/ e3 H
    3.    <span class="L_ENT">2 Z. n7 [7 L0 {3 U, _2 _
    4.     test* Z& T) r% Y- F
    5.    </span>
      , H6 T( d( a/ w( L5 e" e0 J% [
    6.    <a name="L_topv">! L7 t# O6 v- D8 U+ V/ v
    7.    </a>
      , z) C; b2 o" h: [* F4 o; I- p" w
    8.    <div class="L_MRK">
      4 V  N) j$ y0 T. y0 z
    9.     <span class="cn_js" onclick="transChs_test(this)">
      6 G% k3 D, x) u, [3 ?
    10.      <span class="cn_btn" title="Chinese on/off">
      & G/ u+ ~- @5 [2 m& K
    11.       Chs5 t) \) h5 Q; Y* a, }! r0 `4 {
    12.      </span>' Q  E& p, R3 \+ f5 S
    13.     </span>) B9 W" B' O6 j# `2 z: h( r
    14. ...5 z; \: X; W3 d  O4 o- d
    15. ...1 e3 e$ U7 D1 n& w8 A
    16. ...
    复制代码
    ; x- l5 q! G" \2 Y4 R
    # R8 S3 M' K' G( [2 t

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    $ T- Z' O8 k6 I在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.7 P  P3 R: o+ l6 ~( ?4 m& A
    都是大神们的大作, 抱歉忘记 ...
    $ F9 P: l. B9 R
    谢谢分享心得。 / Y4 K5 D, x" U" |  U; m
    ' K1 S: b  a3 a$ ?7 g1 t' R1 j
    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。% }" L: Y  a7 a& J; `0 K% H

    9 y3 E( v' o) X; M: U* \  c7 D(复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)
    / E& a8 E8 s0 x+ N$ z
    ( M* }3 _+ [( S8 Y0 M! J) d! O* o& F谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47
    2 V" ^+ \% E8 S& J4 [+ N谢谢分享心得。
    8 i- ?: K/ U  L3 J+ |% Q. y. r' L) E
    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。

    3 I3 s" c3 k$ L/ a& }2 C. ?% D居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    " J( x, w$ X# @+ ^" x2 V
    - E8 S+ p) W/ j' l* ~9 Z( U9 s& l只得重做, 之前的删除了.
    - C' \2 K- i$ ~% J' H$ J, J: U+ ^; L) b9 _  j1 l% y0 F
    见附件如下, 不作参考.
    8 ~- `, O9 {* ~' X

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50
    8 ^! @: ?  e$ d8 `( Q* s在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.6 ?+ j2 o* X( N# @* u
    都是大神们的大作, 抱歉忘记 ...
    6 x. a3 z" P, u* T4 o) L
    颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:231 T$ b3 c$ f  m! ~7 h
    我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?
    " t0 c" {$ G  h/ h( O/ s. T
    都可行
    " e7 B. L! W& F: m/ N. K
    : J% ]/ F  W5 T) r2 f) N0 |5 I4 j用class的话 可以用css来控制,而且不光是隐藏显示,包括其他的css设定
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:00:00 | 显示全部楼层
    idict 发表于 2016-9-26 13:561 {  W) g# }' H4 f
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    7 H; w+ b; `3 t6 q5 [% ?' o) @: B, H! U6 r
    只得重做, 之前的删除了.
    " x: a  `0 Y! Y/ \
    很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:32
    - G" X, F" T1 v8 p2 O# T3 h' J8 u后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。; R/ ?' v! Y4 a

      ~: t( p/ k; P! p' P也发现另外的问题,比如一个页面中有多 ...

    # @0 i: C# Z+ M' m, X+ `使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:06
    ' ?4 C; p1 c. S4 ~使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。
    - @. `' U1 c( T0 P; V& `9 F
    嗯 是的+ n( \7 m) c1 H& V) Z, ^
    * l3 }  Z5 u& C" H# {2 d% s
    看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 19:43 , Processed in 0.052211 second(s), 8 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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