gpt4 book ai didi

setTimeout后的jquery函数

转载 作者:行者123 更新时间:2023-12-01 05:08:55 28 4
gpt4 key购买 nike

我有一个包含以下内容的下拉菜单:

$(document).ready(function(){
var opened = false;
$("#menu_tab").click(function(){
if(opened){
$("#menu_box").animate({"top": "+=83px"}, "slow");
setTimeout(function(){
$("#menu_box").animate({"top": "+=83px"}, "slow");
}, 2000);
clearTimeout();
}else{
$("#menu_box").animate({"top": "-=83px"}, "slow");
}
$("#menu_content").slideToggle("slow");
$("#menu_tab .close").toggle();
opened = opened ? false : true;
});
});

因此,单击 menu_tab 后,菜单会下降并保持上升状态,直到再次单击,但我想要一个超时,以便在 2 秒后菜单再次下降。

我显然编码错误,因为超时不起作用。任何帮助,将不胜感激! TIA。

最佳答案

我认为你正在尝试做这样的事情:

尝试一下: http://jsfiddle.net/YFPey/

var opened = false;
var timeout;
$("#menu_tab").click(function() {
// If there's a setTimeout running, clear it.
if(timeout) {
clearTimeout(timeout);
timeout = null;
}
if(opened) {
$("#menu_box").animate({"top": "+=83px"}, "slow");
} else {
$("#menu_box").animate({"top": "-=83px"}, "slow");
// Set a timeout to trigger a click that will drop it back down
timeout = setTimeout(function() {
timeout = null;
$("#menu_tab").click();
}, 2000);
}
$("#menu_content").slideToggle("slow");
$("#menu_tab .close").toggle();
opened = !opened;
});​

关于setTimeout后的jquery函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3445748/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com