一旦点击发生在页面的任何地方,使手风琴关闭

时间:2016-08-18 16:46:29

标签: jquery

我有一个小div,一旦显示,就会显示需要保持隐藏的重要数据,除非另有选择。

我无法按需要工作。

基本上,当双击按钮时,此代码会滑出该div。但是,如果div打开,我想在5秒后关闭它,或者如果在页面上的任何位置发生另一次点击。我试过玩,但根本无法让它工作。

$( "#button" ).dblclick(function() {
   $( "#item" ).toggle("accordion");
});

我遇到的问题是我添加的附加jquery没有检查div是否打开,所以操作只是重叠。

1 个答案:

答案 0 :(得分:2)

我认为你正在寻找类似的东西......

$( "#button" ).on( 'click', function() {
    $( "#item" ).toggle('accordion');
    var autoClose = setTimeout( function() { $( "#item" ).toggle('accordion'); $( window ).unbind( 'mousedown' ); } , 5000);

    $( window ).on( 'mousedown', function( event ) {
        event.preventDefault();
        $( "#item" ).toggle('accordion');
        $( window ).unbind( 'mousedown' );
        clearTimeout(autoClose)
    });
});

这是一个小提琴... https://jsfiddle.net/zxf9jsp2/