嘿伙计们,我喜欢jquery切换功能.然而,目前我正面临一个小问题,我不知道如何以最好的方式解决它.
我有一个名为#searchbox的div,它取决于隐藏或可见的用户设置.
如果我点击一个按钮就会触发切换功能,应该.slideDown()#searchbox或.slideUp()搜索框.
//if already visible - slideDown
//if not visible - slideUp
$('#searchboxtrigger').toggle(
function(){
$('#searchbox').slideDown('fast');
},
function(){
$('#searchbox').slideUp('fast');
}
);
Run Code Online (Sandbox Code Playgroud)
实际上它已经很好用了,唯一的事情是toggle()内的第一个函数总是首先被触发,所以如果#searchbox已经可见并且slidedDown它应该立即触发slideUp函数,反之亦然.
知道我要做些什么才能做到这一点?
$('#searchboxtrigger').click( function(){
$('#searchbox').slideToggle('fast');
});
Run Code Online (Sandbox Code Playgroud)
将代码更改为包含 stop()
描述:停止匹配元素上当前运行的动画.
//if already visible - slideDown
//if not visible - slideUp
$('#searchboxtrigger').toggle(
function(){
$('#searchbox').stop(true).slideDown('fast');
},
function(){
$('#searchbox').stop(true).slideUp('fast');
}
);
Run Code Online (Sandbox Code Playgroud)