掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1967|回复: 12

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

[复制链接]

该用户从未签到

发表于 2016-9-17 19:57:21 | 显示全部楼层 |阅读模式
Javascript 就这么几行:
- I% J/ _4 s- h* o3 Q8 N5 @" P" A6 {# d1 s& y  u
function toggle() {
8 @% t" D# f# G: f  u if (document.getElementById("showhide").className=="show"){# k& J  U7 l* r* r
  document.getElementById("showhide").className="hide";
0 J. a( d) W% Z4 u1 [7 k: w6 {' l  }
9 D7 g: p8 E% e$ x else{
# g6 ?6 E3 x; O4 y0 N) h6 ^- C  document.getElementById("showhide").className="show";6 i7 J4 P% F5 i! s$ h* \8 S
}
2 H: m- \" \% k' \}
* i# H7 w8 K. W, z! \9 e
/ k' t2 [/ ]* L& Lcss 里面加上hide 、 show,缺省定义是hide. (反过来也行,自己修改一下就好了)
. r% N: A; R- Z7 N% \/ r2 Z/ \# z) A" z% f3 I; a- I  K  l
HTML / MDX源文件中 任何元素都能使用。! Y- w: q0 \8 t) n+ r" V8 W

5 D- F6 t. ?6 J' W3 e( ~1 K. U! \
( t- q/ d% \1 u# B. q倒是有个问题也顺便请教一下:: ?! U; k+ {4 A4 o- }
3 v8 d$ c# L& V! O
我想显示隐藏中的前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 编辑
    8 r, [9 ~; ?, w$ T- `: d
    jiangws 发表于 2016-9-24 22:48
    ( G3 N/ i- V$ @/ n$ Y7 G好办法,谢谢分享。
    . H; N9 t2 j+ V' f3 v2 U& Z* H

    : T% K5 W" u& t5 \" E后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。& i% {( d; {- q9 n2 z6 {; b

    9 z. B, ^2 ~  i- I也发现另外的问题,比如一个页面中有多个ID, 这个就不太适用。
    0 t, ^$ l& i- l5 e% ?8 p8 D  U, u6 X: t% G  ~# o5 l# C! h
    在学习实践中,学到了新写法,这个可以在MDICT中正常运行,代码同样的简洁。
    # R& ]. y2 |4 d6 p) E
    4 A! ?0 U; m' r. ?$ l' B. x1 r0 W6 Q(点击Full Hyponyms测试)

    本帖子中包含更多资源

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

    x

    该用户从未签到

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

    8 n1 R1 x6 U$ ^8 b% s
    ( N( Y5 O) K' a+ _在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.  C2 t  P- Z+ A$ N. a
    都是大神们的大作, 抱歉忘记了名字了. 在下遵循不知道名字的开源协定, 上载测试文件.
    " u7 g2 d) P0 v2 y: {) Z) b# B
    # F$ b: A# g$ n+ m) k+ n( P4 ]如果使用previousSibling/nextSibling等, 可能会有大的机能开支吧. 如果i7应该是没有所谓...
    3 A  p) |/ `! i& D- z) V! R. i9 |7 T0 ]: C2 ^
    如果css/js, 在文本中需要显示隐藏的内容加上标签, 应该是很快的. 不过会增加文本大小. 也只是愚见, 不作参考.1 a* ?) |' x! T  d8 P

    1 x( d3 J  X- @. X: o# d这个只适应用MDict_PC 1.3 RC4, 其他的就不知道了.
    ; b. F& W3 ~& p: p7 A  d; {6 l% c& H4 ]" z2 W
    大致如下:8 x: v& @/ F7 Z; Z0 G8 M- n
    js
    * W( r+ [& G( b+ V0 N0 a# }
    1. function transChs_test(ele) {8 V9 U0 x  \3 f  l+ p5 O" w; P
    2.         if (ele.className == 'js_active') {  F+ `* `7 ~6 V3 J! ^* W3 |$ |( Z
    3.                 ele.className = '';
      ' y8 ^+ M2 p4 h/ _- Y/ {; @& z# O: d# n
    4.                 document.getElementById('test').className = '';8 V) |& t1 x) S" Y6 p
    5.         } else {
      ) ^' q" z# R  c& q
    6.                 document.getElementById('test').className = 'js_chs';3 `/ t) W6 z8 L8 a7 l
    7.                 ele.className = 'js_active'& i* ^# y: D7 b- k
    8.         }( k0 [$ K! e7 Y
    9. }
    复制代码

    - c. j; y3 u- S/ e7 Y3 [7 p" t7 |
    ' E* N' H% N$ H  v( {css部分
    0 k* Z2 p  H" @: S; k
    1. /* default: chinese */
      * T; t1 s$ E, P
    2. + @2 n2 `$ b& d2 z" y" S
    3. .cn_btn{font-weight:bold;color:White;background-color:DarkSlateBlue;padding-left:5px;margin-right:10px;cursor:pointer;}
      , c# h2 S  h6 P* _2 c# X
    4. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}7 U% I8 }3 [0 g* N# D
    5. .js_active .cn_btn{font-weight:bold;color:Gray;background:Gainsboro;}
      % x: g1 m4 Y/ R! {- N
    6. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}' H" f0 {. o* d$ @# }, A. \% X7 f

    7. & I5 Q5 u" \& R+ q$ O7 V
    8. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:none;}
      5 E5 F+ G, r# a7 a5 d2 c5 S
    9. 1 |( A0 p. u' \  {

    10. ! P% i& `4 p: R* |  e/ |! U8 a
    11. /* default: no chinese */' e2 e; F, ]% q, q/ o
    12. /*
      , G) j+ r7 ~% I6 d; H" S, ^0 i
    13. .cn_btn{font-weight:bold;color:Gray;background-color:Gainsboro;padding-left:5px;margin-right:10px;cursor:pointer;}1 k3 h9 j$ S- ^6 r0 V, O
    14. .cn_btn:hover{color:MidnightBlue;background-color:Pink;}" n) P2 m/ G8 I/ k3 J
    15. .js_active .cn_btn{font-weight:bold;color:White;background:DarkSlateBlue;}! P) F/ \! E* a$ O6 x2 F7 |
    16. .js_active .cn_btn:hover{color:MidnightBlue;background:Pink;}
      4 l; M) l5 D2 m, u; Y
    17. 7 D! ~: W1 G* ^
    18. .js_chs .L_CEX,.js_chs .L_DEC,.js_chs .L_EXC,.js_chs .L_DCH,.js_chs .L_ITC{display:inline;}, B% |2 s5 e9 ^& W8 Q! D
    19. .L_CEX,.L_DEC,.L_EXC,.L_DCH,.L_ITC{display:none;}
      + }4 [( v/ P! p! |- X- Y& c
    20. */
    复制代码
    # Z3 u$ k7 {2 }/ P" [3 a" @4 T
    & S6 [- N5 B$ H$ w3 {
    8 D+ L2 S0 N& l- |+ H
    文本词条头部加个总ID: test, 其余需要显示或隐藏的, 加对应标签, 如上述的中文标签. 加个按键标签, 就可以显示隐藏中文了. 不知道是否理解了楼主的所说的.
    ) B$ `! S' `& m: K
    1. <link href="test.css" rel="stylesheet" type="text/css"/><script src="test.js"></script>
      / V& Q8 F+ J; x& P
    2. <div class="test" id="test">
      " r# f9 N" d* b% R7 B0 a1 R
    3.    <span class="L_ENT">
      3 B( ~4 A/ P# Y; i
    4.     test; j( _4 n& o5 L4 F# l: }: E% o
    5.    </span>5 @+ B! D& e: p
    6.    <a name="L_topv">* G% I) y7 N( }8 x5 Z) t2 G
    7.    </a>8 v. X/ i8 n# t. f! V/ B6 l. F& \
    8.    <div class="L_MRK">6 A+ X& }; c8 H' U8 C; Z
    9.     <span class="cn_js" onclick="transChs_test(this)">3 V3 h7 _+ _# |
    10.      <span class="cn_btn" title="Chinese on/off">+ i' |9 L% }  u
    11.       Chs+ x* M$ u; k1 P% j
    12.      </span>
      5 Y- o8 S" ~) u( h/ ]! |
    13.     </span>5 G7 Y$ s4 S1 q
    14. ...
      , W& ~- h$ W; y
    15. ..." ]& {" N/ m, \( B
    16. ...
    复制代码
    1 S. S/ u! G' O- D( ], W0 B

    * d* ], U4 U+ R  x9 J

    本帖子中包含更多资源

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

    x

    该用户从未签到

     楼主| 发表于 2016-9-25 16:47:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:50. X4 U5 i$ S: c% `- N; L- O
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    ' n2 m7 [0 w8 n3 E2 `# m都是大神们的大作, 抱歉忘记 ...

    ; r! P& E6 l0 C* ^3 ^- q谢谢分享心得。
    7 e/ e) N5 J. n! k' L  c  d5 B$ M- L9 T# C5 f
    点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。+ \5 n" }4 N9 a" d  p" L

    - R$ s1 G1 s2 P! g% h* y(复制代码部分复制出来并入了很多乱码,不知能否单独提供一下?)8 r, E3 f2 _* }% ~$ m0 B7 {7 c

    . U8 P5 S' Z% c0 \& }谢谢

    该用户从未签到

    发表于 2016-9-26 13:56:55 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 16:47
    9 E! i+ d' _& B% n6 U谢谢分享心得。 - P$ ^$ h/ L6 {2 I; k

    4 J% N4 |& J, |点击本元素来调整css的配置, 挺好的想法。虽然和我的用法不一样,但明白思路了。

    " i7 G" e0 s  M; P0 e; P: w居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    . ]# {& L( Q  k" u- S
    7 ?9 n5 w9 R" u+ b9 o& o; w; M* {/ \只得重做, 之前的删除了.+ }  w2 J1 n" G* T
    ! l9 P$ [% P1 g. F
    见附件如下, 不作参考.* a+ G" h( I+ f! {) b1 U

    本帖子中包含更多资源

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

    x

    该用户从未签到

    发表于 2016-9-26 15:02:44 | 显示全部楼层
    idict 发表于 2016-9-25 12:505 k  h4 t; l1 j2 ~* \0 m$ o7 ~
    在下不会css/js和排版. 之前有参考阅读大神的帖子. 偶有心得, 不作参考.
    6 P: b1 X- D7 x7 @0 A" J都是大神们的大作, 抱歉忘记 ...
    ! f4 G  v+ s) y2 i! t% E
    颜值很高

    该用户从未签到

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

    该用户从未签到

     楼主| 发表于 2016-9-29 21:14:41 | 显示全部楼层
    fnaviwwo1 发表于 2016-9-29 20:23
    / q. J. I0 |: x我记得LZ一开始是用.style.display ='none '?现在的写法有什么优点么?

    + W2 A: ^) u6 Y" t) _) k$ U, g都可行
    ' a& `0 y# H* i5 o7 `1 R+ a3 E0 c9 i2 Q+ {/ v
    用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& L; V# n- {& }( {( S' m$ r
    居然忘记上载文件了, 怪不得积分没有上涨啦, 才半分啊...
    ) U& V, s) n( c6 h9 n+ O$ x9 ]% n( ]6 d
    只得重做, 之前的删除了.

    , A4 h0 H; a' }/ b; g' Z7 x9 M" }* c很好的想法,谢谢!
  • TA的每日心情
    开心
    2019-5-18 14:33
  • 签到天数: 12 天

    [LV.3]偶尔看看II

    发表于 2016-10-1 23:06:49 | 显示全部楼层
    lxchen2001 发表于 2016-9-25 02:320 o5 _" {4 C% A
    后来发现这段代码在MDICT中不能很好应用,在GD中是没问题。5 B! G9 o6 n; H; [3 Z

    % L8 a6 T0 G6 q0 [2 }也发现另外的问题,比如一个页面中有多 ...

    , P( j* F) o* P* v  f. }使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。

    该用户从未签到

     楼主| 发表于 2016-12-2 02:59:45 | 显示全部楼层
    jiangws 发表于 2016-10-1 23:06
    6 j! r; M4 ^; C) ~使用this.nextElementSibling,对词典的排版要求很高,要作全面的检查,但效果很好的。
    + Y2 D, `$ H% D7 O
    嗯 是的
    ' [5 L; W3 a5 t  H2 m$ }) J
      e% S$ E( D2 Y% W3 s1 @9 Y; f看别人的标签 有时觉得比较累 所以倾向按照自己的想法去完成
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2024-4-29 21:42 , Processed in 0.052948 second(s), 8 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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