2016-12-20 17 views
0

私のウェブサイトでは、クローズドアコーディオンメニュー(メニュー-1)があります。ユーザーがサイトにあることの最初の5秒間のメニューをクリックしない場合は、メニューは自動的にこのコードを使用してJSドロップダウン:クリック後にトリガーをキャンセルする方法

setTimeout(function() { 
    $('#menu-1').trigger('click'); 
}, 5000); 

ユーザーが5秒待っていない時に私の問題があります、トリガの前にメニューをクリックすると、トリガはまだ消えてメニューを終了します。ユーザがトリガされる前にメニューをクリックすると、トリガがキャンセルされるようにするにはどうすればよいですか?

+0

は、変数が機能していますが、メニューはまだユーザーが –

答えて

4

変数にタイムアウトIDを格納する必要があります。ユーザーがメニューをクリックしたときに後でキャンセルすることができます。このように...

var timeout_id = setTimeout(function() { 
    $('#menu-1').trigger('click'); 
}, 5000); 

$('#menu-1').click(function() { 
    if (timeout_id) { 
     clearTimeout(timeout_id); 
     timeout_id = 0; 
    } 
}); 
+0

条件で試してみてくださいこれを答えとして受け入れる? –

+0

ネヴァーマインド、それが動作それを開いた後に閉じてしまい、私はおそらく、あなたがあなたの編集 –

+0

@AlexKhomyakovを見ていない – user1751825

関連する問題