我有一个名为#searchbox的div,它取决于隐藏或可见的用户设置。
如果我点击一个按钮就会触发切换功能,应该.slideDown()#searchbox或.slideUp()搜索框。
//if already visible - slideDown
//if not visible - slideUp
$('#searchboxtrigger').toggle(
function(){
$('#searchbox').slideDown('fast');
},
function(){
$('#searchbox').slideUp('fast');
}
);
实际上它已经很好用了,唯一的事情是toggle()内的第一个函数总是先被激活,所以如果#searchbox已经可见并且slidedDown它应该立即触发slideUp函数,反之亦然。
任何想法我必须做些什么来完成这项工作?
答案 0 :(得分:7)
$('#searchboxtrigger').click( function(){
$('#searchbox').slideToggle('fast');
});
答案 1 :(得分:5)
将您的代码更改为包含stop()
说明:停止匹配元素上当前正在运行的动画。
//if already visible - slideDown
//if not visible - slideUp
$('#searchboxtrigger').toggle(
function(){
$('#searchbox').stop(true).slideDown('fast');
},
function(){
$('#searchbox').stop(true).slideUp('fast');
}
);