Javascript 单击后如何取消触发器
在我的网站上,我有一个封闭的手风琴菜单(菜单-1)。如果用户在站点上的前5秒钟内没有单击菜单,则菜单将使用以下js代码自动下拉:Javascript 单击后如何取消触发器,javascript,jquery,click,Javascript,Jquery,Click,在我的网站上,我有一个封闭的手风琴菜单(菜单-1)。如果用户在站点上的前5秒钟内没有单击菜单,则菜单将使用以下js代码自动下拉: setTimeout(function () { $('#menu-1').trigger('click'); }, 5000); 我的问题是,当用户没有等待5秒钟,并在触发前单击菜单时,触发器仍然会关闭并最终关闭菜单。如果用户在触发触发前单击菜单,如何使触发被取消?您需要将超时ID存储在变量中,以便在用户单击菜单后可以取消它。像这样 var timeout
setTimeout(function () {
$('#menu-1').trigger('click');
}, 5000);
我的问题是,当用户没有等待5秒钟,并在触发前单击菜单时,触发器仍然会关闭并最终关闭菜单。如果用户在触发触发前单击菜单,如何使触发被取消?您需要将超时ID存储在变量中,以便在用户单击菜单后可以取消它。像这样
var timeout_id = setTimeout(function () {
$('#menu-1').trigger('click');
}, 5000);
$('#menu-1').click(function() {
if (timeout_id) {
clearTimeout(timeout_id);
timeout_id = 0;
}
});
您需要将超时ID存储在一个变量中,以便以后用户单击菜单时可以取消它。像这样
var timeout_id = setTimeout(function () {
$('#menu-1').trigger('click');
}, 5000);
$('#menu-1').click(function() {
if (timeout_id) {
clearTimeout(timeout_id);
timeout_id = 0;
}
});
尝试使用conditionstry with Conditions该变量正在工作,但用户打开后菜单仍会关闭it@AlexKhomyakov也许您可以接受这个答案?变量正在工作,但在用户打开后,菜单仍然会关闭it@AlexKhomyakov也许你会接受这个答案?