JQ和JS多种方法实现点击div显示隐藏

想必显示和隐藏的效果大家都有见到过吧,其实很简单,jquery便可轻松实现(想用JS的我也不拦着,萝卜白菜各有所爱哈~),下面为大家整理了多种方式,可以根据需求自由选择。

明确思路

获取元素,判断点击,如果元素是可见的,切换为隐藏;如果元素是隐藏的,切换为可见。


 if( DIV是显示的 ){
     div.style.display='none';
 }
 else{
     div.style.display='block';    
 }

 

JQuery方法

首先放出HTML代码,如下


HTML代码:
<div class="divlist">
  <button type="button">点击显示隐藏</button>
    <ul>
      <li>点击显示隐藏按钮</li>
      <li>我就会实现此功能</li>
      <li>点击显示隐藏按钮</li>
      <li>我就会实现此功能</li>
      <li>点击显示隐藏按钮</li>
      <li>我就会实现此功能</li>
    </ul>
</div>

 

方法①:使用css 的 display:nonedisplay:block 来实现切换


$(function(){ 
	$(".divlist button").click(function(){ 
		var tab = $(this).next("ul"); 
		if(tab.css("display")=="none"){ 
			tab.css("display","block"); 
		} 
		else{ 
			tab.css("display","none"); 
		} 
	}); 
}); 

 

方法②:使用 toggle() 方法来切换 hide()show() 方法


$(document).ready(function(){
	$("button").click(function(){
		$("ul").toggle(500);    //括号内500参数为显示隐藏缓动时间
	});
});

 

方法③:使用 hide()show() 方法来切换并点击更换文字(单页面单元素)


$(function(){
	$('button').click(function(){
		if($('ul').is(':hidden')){
			$('ul').show(500);
			$('button').text('点击隐藏');
		}else{
			$('ul').hide(500);
			$('button').text('点击显示');
		}
	});
});

 

方法④:利用 .each()? 为所有匹配的元素执行动作 来实现(单页面多元素)

?HTML代码:
 <span class="class0">点击显示</span>
  <div id="one0">
   <ul>
    <li><a href="#">这里是第一个内容,你看到了么?</a></li> 
    <li><a href="#">这里是第一个内容,你看到了么?</a></li>
    <li><a href="3">这里是第一个内容,你看到了么?</a></li>
    <li><a href="#">这里是第一个内容,你看到了么?</a></li>
   </ul>
  </div>
 <span class="class1">点击显示</span>
  <div id="one1">
   <ul>
    <li><a href="#">这里是第二个内容,你看到了么?</a></li> 
    <li><a href="#">这里是第二个内容,你看到了么?</a></li>
    <li><a href="#">这里是第二个内容,你看到了么?</a></li>
    <li><a href="#">这里是第二个内容,你看到了么?</a></li>
    <li><a href="#">这里是第二个内容,你看到了么?</a></li>
    <li><a href="#">这里是第二个内容,你看到了么?</a></li>
   </ul>
  </div>
 <span class="class2">点击显示</span>
  <div id="one2">
   <ul>
    <li><a href="#">这里是第三个内容,你看到了么?</a></li> 
    <li><a href="#">这里是第三个内容,你看到了么?</a></li>
    <li><a href="#">这里是第三个内容,你看到了么?</a></li>
   </ul>
  </div>
 <span class="class3">点击显示</span>
  <div id="one3">
   <ul>
    <li><a href="#">这里是第四个内容,你看到了么?</a></li> 
    <li><a href="#">这里是第四个内容,你看到了么?</a></li>
    <li><a href="#">这里是第四个内容,你看到了么?</a></li>
    <li><a href="#">这里是第四个内容,你看到了么?</a></li>
   </ul>
  </div>

 

CSS代码:
*{margin:0;padding:0;}
a{text-decoration: none; color: #404040;}
span{display: block; height: 25px; line-height: 25px; text-align: center; border:1px solid bisque; background: yellowgreen;width:300px;color: #fff; cursor: pointer}
div{display: none; background:#ccc;color:#fff;font-size: 13px;line-height: 25px; letter-spacing: 2px;width: 300px; text-align: center;}
a:hover{ color: #fff; background: #ff9900;height:25px; line-height: 25px;}
//我在这里做的简陋,只是展示效果,样式你们自己调

 

jQuery代码:
$(function(){
	$("span").each(function(i){
		$(".class"+i).bind("click",function(){
			var txt=$("#one"+i);
		if(txt.is(":visible")){
			$("#one"+i).hide();
			$(this).text('点击显示');
		}else{
			$("#one"+i).show();
			$(this).text('点击收起');
		};
		});
	});
});

 

最重要的一点,使用jQuery方法千万不要忘记link - jQuery 库(不管是本地的还是官方的,都可以)

?<script src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>

 

JS方法

方法①:同样道理,使用 display 来判断是否为显示或隐藏状态来切换,并替换按钮文字

HTML代码:
<div>
  <button type="button"?id="btn" onClick="javascript: func()">点击显示隐藏</button>
  <ul id="UL" style="display: none;">
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
  </ul>
</div>
JS代码:
<script language="javascript">
  var div = document.getElementById("UL");
    tet = document.getElementById("btn");
  function func() {
    if (div.style.display == "block") {    // 判断div是否为显示
      div.style.display = "none";      // 显示状态下点击按钮隐藏
       tet.innerHTML = "点击显示";     // 按钮文字同时变为“点击显示”
     } else{
       div.style.display = "block";     // 隐藏状态下点击按钮显示
       tet.innerHTML = "点击隐藏";     // 按钮文字同时变为“点击隐藏”
     }
  };
 </script>

 

方法②:同样方法,利用id所匹配的数值元素来实现div的显示隐藏

HTML代码:
<div class="divlist">
  <button type="button" onclick="Show_Hidden(bt1)">点击显示隐藏</button>
  <ul id="bt1" style="display: none;">
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
  </ul>
</div>
<div class="divlist">
  <button type="button" onclick="Show_Hidden(bt2)">点击显示隐藏</button>
  <ul id="bt2" style="display: none;">
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
    </ul>
</div>
<div class="divlist">
  <button type="button" onclick="Show_Hidden(bt3)">点击显示隐藏</button>
  <ul id="bt3" style="display: none;">
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
    <li>点击显示隐藏按钮</li>
    <li>我就会实现此功能</li>
  </ul>
</div>
//我比较懒,所以就不写样式了 *.*
JS代码:
function Show_Hidden(btid){
  if(btid.style.display=='block'){ // 判断div是否为显示
    btid.style.display='none'; // 显示状态下点击div隐藏
  }else{
    btid.style.display='block'; // 隐藏状态下点击div显示
  }
};

 

以上便是 jQuery ?及 JavaScript 点击显示隐藏效果的简单整理了,个人还是推荐jQuery方法,虽然不是原生但是很方便很简洁,有需要的朋友可以参考下,希望会对大家有所帮助。


技术成就梦想,细节成就品质。