jQuery toggle 代替方法

江湖郎中 2016-03-22

具体内容如下所示:

$('.back_left dt').toggle(function(){
$(this).addClass("selected");
$(this).siblings('dd').slideUp();
},function(){
$(this).removeClass("selected");
$(this).siblings('dd').slideDown();
});

今天在做一个项目,抄了别人网站上的一代码,发现怎么都无法实现,在我急得不想再搞时,想到会不会是jquery 的版本问题?随后把jquery 的版本降来1.8,功能实现了,我自己的jqurey 版本是1.11.1的,原来是版本的问题,原因找到了就好办了,百度了一下,才发现toggle方法在1.9版本时就已经删除了。换版本是可以解决问题,但我不想再使用低版本的,还是想使用1.11.1的版本,就想用什么方法代替toggle呢?

经过检测可以使用下面的方法来代替:

$(document).ready(function(){ 
$('.back_left dt').click(function(){
if($(this).hasClass("selected")){
$(this).toggleClass("selected");
$(this).siblings('dd').slideDown();
}else{
$(this).toggleClass("selected");
$(this).siblings('dd').slideUp();
} 
}); 
});
参数 描述
speed

可选。规定元素从可见到隐藏的速度(或者相反)。默认为 "0"。

可能的值:

  • 毫秒 (比如 1500)
  • "slow"
  • "normal"
  • "fast"

在设置速度的情况下,元素从可见到隐藏的过程中,会逐渐地改变其高度、宽度、外边距、内边距和透明度。

如果设置此参数,则无法使用 switch 参数。

callback

可选。toggle 函数执行完之后,要执行的函数。

如需学习更多有关 callback 的内容,请访问我们的 jQuery Callback 这一章。

除非设置了 speed 参数,否则不能设置该参数。

switch

可选。布尔值。规定 toggle 是否隐藏或显示所有被选元素。

  • True - 显示所有元素
  • False - 隐藏所有元素

如果设置此参数,则无法使用 speed 和 callback 参数。

相关推荐