我无法更改要在'click'上调用的函数而不是'hover'。我已经尝试将“悬停”更改为“点击”以及“切换”而没有正面结果
$('#menu li').hover(
function(){
$(this).stop().animate({height: '100px'},1000,function(){});
$(this).find('div').show(600);
}
,
function(){
$(this).stop().animate({height: '20px'},1000,function(){});
}
);
如果我想将其更改为“点击”,我是否必须绑定该事件?非常感谢任何帮助。
答案 0 :(得分:2)
试试这个:
var clicked = 0;
$('#menu li').click(
function(){
if(clicked === 0){
$(this).stop().animate({height: '100px'},1000,function(){});
$(this).find('div').show(600);
clicked = 1;
} else if(clicked === 1){
$(this).stop().animate({height: '20px'},1000,function(){});
clicked = 0;
}
}
);
设置变量以跟踪点击状态
答案 1 :(得分:1)
您将两个参数传递给$(...).click(clickHandle)
。只需传递一个功能。
检查http://api.jquery.com/click/
在两个论证案例中,
http://api.jquery.com/click/
答案 2 :(得分:1)
click 只需要一个参数。
答案 3 :(得分:1)
hover()
需要两次回调,一次针对mouseenter
,另一次针对mouseleave
。如果要将其更改为单击,并且第一次单击开始第一个动画,第二个单击开始第二个动画,则需要添加一个状态变量以确定您的元素是否被单击过一次。
$('#menu li').click(
function(){
if(this.clicked)
{
//callback 1
}
else
{
//callback 2
}
this.clicked = !this.clicked;
}
);