左侧导航栏显示隐藏toggle使用


toggle, jquery1.8 and 2.1(error)

$(document).ready(function(){
  $("button").toggle(function(){
    $("body").css("background-color","green");},
    function(){
    $("body").css("background-color","red");},
    function(){
    $("body").css("background-color","yellow");}
  );
});  

 

 

toggle, add class控制display,对于width=0的隐藏无效,button本身会随点击而隐藏

$("button").toggle(function(){
    $("#left").addClass("navslid-show");
  },
   function(){
    $("#left").addClass("navslid-hide");
  } );

  

元素本身toggle

$("#btnnav").click(function(){
	$("#left").toggle(function(){
	      $("#left").addClass("navslid-show");
	    },
	    function(){
	      $("#left").addClass("navslid-hide");
	    }
	);
})

  

 

 

The end way.

css

.navslid {
  width: 200px;
  height: 500px;
  background-color: #1A2226;
  display: inline-block;
}
@keyframes show {
  from {width: 0;}
  to {width: 200px;}
}
@keyframes hide {
  from {width: 200px;}
  to {width: 0;}
}
.navslid-show {
  animation-name: show;
  animation-duration: 1s;
}
.navslid-hide {
  animation-name: hide;
  animation-duration: 1s;
  width: 0;
}

html  

<div class="navslid" id="left"></div>
<button class="btn" id="click">click</button>

js

$(function() {
  $("#click").click(function() {
    if ($("#left").hasClass("navslid-hide")) {
      $("#left").addClass("navslid-show");
      $("#left").removeClass("navslid-hide");
    } else if ($("#left").hasClass("navslid-show")) {
      $("#left").addClass("navslid-hide");
      $("#left").removeClass("navslid-show");
    } else {
      $("#left").addClass("navslid-hide");
      console.log("default no");
    }
  });
});

  

结果:https://jsfiddle.net/kkcodin/j7L2svqy/#&togetherjs=Ey1yPKyvxg


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM