经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » jQuery » 查看文章
jQuery使用hide()、toggle()函数实现相机品牌展示隐藏功能
来源:cnblogs  作者:Schieber  时间:2021/2/1 11:56:06  对本文有异议

最近在学习jQuery时接触到了show()、hide()、toggle()函数,于是利用这几个函数练习了一个使元素显示隐藏的案例:

小提示:代码中切换按钮上下的小图标可以在此链接品牌展示功能图片中获取

  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>使用hide()、toggle()函数实现相机品牌展示</title>
  6. <style type="text/css">
  7. * {
  8. margin: 0;
  9. padding: 0;
  10. }
  11. body {
  12. font-size: 12px;
  13. text-align: center;
  14. }
  15. a {
  16. color: #04D;
  17. text-decoration: none;
  18. }
  19. a:hover {
  20. color: #F50;
  21. /*text-decoration 属性规定添加到文本的修饰,下划线、上划线、删除线等。*/
  22. text-decoration: underline;
  23. }
  24. .SubCategoryBox {
  25. width: 600px;
  26. margin: 0 auto;
  27. text-align: center;
  28. margin-top: 40px;
  29. }
  30. .SubCategoryBox ul {
  31. list-style: none;
  32. }
  33. .SubCategoryBox ul li {
  34. display: block;
  35. float: left;
  36. width: 200px;
  37. line-height: 20px;
  38. }
  39. .showmore, .showless {
  40. clear: both;
  41. text-align: center;
  42. padding-top: 10px;
  43. }
  44. .showmore a, .showless a {
  45. display: block;
  46. width: 120px;
  47. margin: 0 auto;
  48. line-height: 24px;
  49. border: 1px solid #AAA;
  50. }
  51. .showmore a span {
  52. padding-left: 15px;
  53. /*最后两位数字是以左上角为(0,0)的坐标做一个偏移
  54. 第一个数字是X轴上的偏移量,也就是横向的偏移量,正表示向右,负表示向左!
  55. 第二个数字是Y轴上的偏移量,也就是横向的偏移量,正表示向下,负表示向上!*/;
  56. background: url(img/down.gif) no-repeat 0 3px;
  57. }
  58. .showless a span {
  59. padding-left: 15px;
  60. background: url(img/up.gif) no-repeat 0 3px;
  61. }
  62. .promoted a {
  63. color: #F50;
  64. }
  65. </style>
  66. <script type="text/javascript" src="https://apps.bdimg.com/libs/jquery/2.1.4/jquery.min.js"></script>
  67. <script type="text/javascript">
  68. $(function () {
  69. // 页面加载完成先隐藏部分相机品牌
  70. $("ul li:gt(5):not(:last)").hide();
  71. // filter函数筛选出与指定表达式匹配的元素集合。这个方法用于缩小匹配的范围。用逗号分隔多个表达式
  72. // 这里筛选出保留需要单独添加样式的相机品牌
  73. var multiPromoted = $("li").filter(":contains('佳能'),:contains('索尼'),:contains('柯达')");
  74. // 获取到a标签绑定点击事件
  75. $("div div a").click(function () {
  76. // 切换显示与隐藏部分相机品牌
  77. $("ul li:gt(5):not(:last)").toggle();
  78. // 隐藏部分相机品牌时替换文字内容、角标图片、移除li下a标签文字样式
  79. if ($("ul li:gt(5):not(:last)").is(":hidden")) {
  80. $("a > span").html("显示全部品牌");
  81. $("div div").removeClass();
  82. $("div div").addClass("showmore");
  83. $(multiPromoted).removeClass("promoted");
  84. } else {
  85. // 显示部分相机品牌时替换文字内容、角标图片、添加li下a标签文字样式
  86. $("a > span").html("显示精简品牌");
  87. $("div div").removeClass();
  88. $("div div").addClass("showless");
  89. $(multiPromoted).addClass("promoted");
  90. }
  91. });
  92. });
  93. </script>
  94. </head>
  95. <body>
  96. <div class="SubCategoryBox">
  97. <ul>
  98. <li><a href="#">佳能</a><i>(30440) </i></li>
  99. <li><a href="#">索尼</a><i>(27220) </i></li>
  100. <li><a href="#">三星</a><i>(20808) </i></li>
  101. <li><a href="#">尼康</a><i>(17821) </i></li>
  102. <li><a href="#">松下</a><i>(12289) </i></li>
  103. <li><a href="#">卡西欧</a><i>(8242) </i></li>
  104. <li><a href="#">富士</a><i>(14894) </i></li>
  105. <li><a href="#">柯达</a><i>(9520) </i></li>
  106. <li><a href="#">宾得</a><i>(2195) </i></li>
  107. <li><a href="#">理光</a><i>(4114) </i></li>
  108. <li><a href="#">奥林巴斯</a><i>(12205) </i></li>
  109. <li><a href="#">明基</a><i>(1466) </i></li>
  110. <li><a href="#">爱国者</a><i>(3091) </i></li>
  111. <li><a href="#">其它品牌相机</a><i>(7275) </i></li>
  112. </ul>
  113. <div class="showmore">
  114. <a href="#"><span>显示全部品牌</span></a>
  115. </div>
  116. </div>
  117. </body>
  118. </html>
代码运行效果:

功能展示效果:

原文链接:http://www.cnblogs.com/xiqingbo/p/front-end-05.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号