jQuery实现HTML元素隐藏和显示

让我们来模仿一下淘宝网当你搜索某个商品的时候,那种显示全部品牌和显示部分品牌的功能。

首先我们来理清一下思路:

1、一开始需要先隐藏需要隐藏的元素

2、你需要通过jquery获取需要在开始显示的时候需要隐藏的元素对象

3、在页面写一个可以触发点击事件的按钮或者链接,使用jquery为这个按钮或者链接添加点击事件

4、当按钮被点击的时候,获取需要隐藏的对象当前是否隐藏值

5、如果是隐藏的,则使其显示,若不是隐藏的,则让它隐藏。

下面我们来看代码:

<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
 <title></title>
  <style type="text/css">
  <!-- 这里是css,这个可以根据你的喜好来调整,这不是重点样式 -->
   *{ margin:0; padding:0;}
   body {font-size:12px;text-align:center;}
   a { color:#04D; text-decoration:none;}
   a:hover { color:#F50; text-decoration:underline;}
   .SubCategoryBox {width:600px; margin:0 auto; text-align:center;margin-top:40px;}
   .SubCategoryBox ul { list-style:none;}
   .SubCategoryBox ul li { display:block; float:left; width:200px; line-height:20px;}
   .showmore { clear:both; text-align:center;padding-top:10px;}
   .showmore a { display:block; width:120px; margin:0 auto; line-height:24px; border:1px solid #AAA;}

   .showmore a span { padding-left:15px; background:url(img/down.gif) no-repeat 0 0;}

   .promoted a { color:#F50;}
  </style>
  <script type="text/javascript" src="scripts/jquery-1.7.2.js"></script><!-- 导入jquery的文件 -->
  <script type="text/javascript">

   $(function(){
    $("li:gt(5)").hide();//开始先隐藏第五个li标签以后的所有li标签
    $("a").click(function(){//为点击的连接添加点击事件处理函数
     var $flag =  $("li:gt(5):lt(6)").is(":hidden");//获取需要隐藏的元素当前是否隐藏的值
     if($flag){//如果当前是隐藏的则执行if下面的代码
      $("li:gt(5):lt(6)").show();//使隐藏的元素显示出来
      $(".showmore a span").css("background","url(img/up.gif) no-repeat 0 0")//是a标签的图片变成向上
      $(".showmore a span").text("显示部分语言");//改变a标签里面的文本,这样才符合语境

     }else{//如果是显示的 则执行下面的代码

      $(".showmore a span").text("显示全部语言");//使a标签的内容变成显示全部的内容
      $(".showmore a span").css("background","url(img/down.gif) no-repeat 0 0");//使a标签的图片变成向上
      $("li:gt(5):lt(6)").hide();//然后隐藏需要隐藏的内容
     }
     return false;//最后返回false ,为什么返回false ,因为这样会阻止链接的跳转
     //或者表单按钮的提交,否则就会跳转到别的页面了!
    })

   });
  </script>
 </head>
 <body>
  <div class="SubCategoryBox">
   <ul>
    <li ><a href="#" >C</a></li>
    <li ><a href="#" >C++</a></li>
    <li ><a href="#" >C#</a></li>
    <li ><a href="#" >JAVA</a></li>
    <li ><a href="#" >JAVASCRIPT</a></li>
    <li ><a href="#" >Python</a></li>
    <li ><a href="#" >PHP</a></li>
    <li ><a href="#" >GO</a></li>
    <li ><a href="#" >SWIFT</a></li>
    <li ><a href="#" >RUBY</a></li>
    <li ><a href="#" >HTML</a></li>
    <li ><a href="#" >汇编</a></li>
    <li ><a href="#" >PERL</a></li>
    <li ><a href="#" >其它编程语言</a></li>
   </ul>
   <div class="showmore">
    <a href="more.html"  ><span>显示全部语言</span></a><!-- 这里就是这个链接,但是点击不会跳转。因为上面返回的是false -->
   </div>
  </div>
 </body>
</html>

一开始打开是这样

点击链接之后 触犯事件函数,那个小三角形是一个图片,根据状态的不同,显示不同的图片,上面的代码有写

if里面

$(".showmore a span").css("background","url(img/up.gif) no-repeat 0 0")

else里面

$(".showmore a span").css("background","url(img/down.gif) no-repeat 0 0")

当然链接的文字也发生了改变,这都是需要注意的细节

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

(0)

相关推荐

  • jQuery使用hide方法隐藏指定元素class样式用法实例

    本文实例讲述了jQuery使用hide方法隐藏指定元素class样式用法.分享给大家供大家参考.具体如下: 下面的JS代码可以隐藏所有class属性等于test的元素 <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button

  • jquery使用hide方法隐藏指定id的元素

    本文实例讲述了jquery使用hide方法隐藏指定id的元素.分享给大家供大家参考.具体如下: 下面的代码通过jQuery的hide方法隐藏了id=test的元素 <!DOCTYPE html> <html> <head> <script src="js/jquery.min.js"> </script> <script> $(document).ready(function(){ $("button&q

  • jQuery判断元素是否显示 是否隐藏的简单实现代码

    jQuery判断元素是否显示 是否隐藏的简单实现代码 var node=$('#id'); 第一种写法 if(node.is(':hidden')){ //如果node是隐藏的则显示node元素,否则隐藏 node.show(); }else{ node.hide(); } 第二种写法 if(!node.is(':visible')){ //如果node是隐藏的则显示node元素,否则隐藏 node.show(); }else{ node.hide(); } if(node.is(':visib

  • JQuery显示隐藏页面元素的方法总结

    在jquery中显示隐藏div方法方法有很多种,如比较简单的函数show(),hide(),toggle(),slideDown()然后还有css设置div的style属性都可操作,下面我来介绍. show()方法 显示出隐藏的 <p> 元素. 复制代码 代码如下: $(".btn2").click(function(){   $("p").show(); }); toggle()方法 toggle() 方法切换元素的可见状态. 如果被选元素可见,则隐藏

  • jquery判断元素是否隐藏的多种方法

    第一种:使用CSS属性 复制代码 代码如下: var display =$('#id').css('display'); if(display == 'none'){    alert("被你发现了,我是隐藏的啦!"); } 第二种:使用jquery内置选择器 假设我们页面有这么个标签, 复制代码 代码如下: <div id="test"> <p>仅仅是测试所用</p> </div> 那么,我们可以用以下语句来判断id

  • jquery如何实现点击空白处隐藏元素

    我们在网站开发的时候经常会有点击空白处去隐藏已有的元素,DIV或者其他,本次教给大家如何用jquery实现这个特效的方法. 一款jQuery点击空白处隐藏弹出层网页特效,点击按钮弹出层.点击页面空白处弹出层消失JS代码.主要功能是点击按钮弹出层显示,然后通过点击页面任意位置都能关闭弹出层显示效果,主要是$(document).click的操作应用.演示 Demo,效果源码: CSS代码: * { padding: 0; margin: 0; } #btnShow{ margin: 100px a

  • jQuery控制元素显示、隐藏、切换、滑动的方法总结

    jQuery 隐藏和显示 通过 hide() 和 show() 两个函数,jQuery 支持对 HTML 元素的隐藏和显示: 实例 复制代码 代码如下: $("#hide").click(function(){ $("p").hide(); }); $("#show").click(function(){ $("p").show(); }); hide() 和 show() 都可以设置两个可选参数:speed 和 callba

  • Jquery显示、隐藏元素以及添加删除样式

    复制代码 代码如下: <script type="text/javascript"> $(function () { //当input获取焦点后将其兄弟标签label隐藏 $("input").focus(function () { $(this).siblings("label").hide(); }); }); $(function () { //input元素失去焦点 $("input").blur(func

  • jQuery判断元素是否是隐藏的代码

    核心代码: 复制代码 代码如下: if($("#elem_id").is(":hidden")) { } 实例代码1: 复制代码 代码如下: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title

  • jquery 表单下所有元素的隐藏

    对于如下表单form1: 复制代码 代码如下: <form id="form1"> <input type="text" name="text1"> <input type="button" id="butt_test" value="tt"> </form> 只需要运用以下代码即可实现对表单form1下所有元素的隐藏 复制代码 代码如下:

随机推荐