Javascript 单击后如何取消触发器

Javascript 单击后如何取消触发器,javascript,jquery,click,Javascript,Jquery,Click,在我的网站上,我有一个封闭的手风琴菜单(菜单-1)。如果用户在站点上的前5秒钟内没有单击菜单,则菜单将使用以下js代码自动下拉: setTimeout(function () { $('#menu-1').trigger('click'); }, 5000); 我的问题是,当用户没有等待5秒钟,并在触发前单击菜单时,触发器仍然会关闭并最终关闭菜单。如果用户在触发触发前单击菜单,如何使触发被取消?您需要将超时ID存储在变量中,以便在用户单击菜单后可以取消它。像这样 var timeout

在我的网站上,我有一个封闭的手风琴菜单(菜单-1)。如果用户在站点上的前5秒钟内没有单击菜单,则菜单将使用以下js代码自动下拉:

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也许你会接受这个答案?