引导程序的弹出延迟不起作用

yay*_*zis 12 jquery popover twitter-bootstrap

一段时间后我想要弹出窗口隐藏.我编写了这个 - > CODE工作..

JS

$('#qoo').popover({
    placement : 'left',
    html : true,
    delay: { 
             show: 500, 
             hide: 100
    },
    content: function() {
    return $('#content-wrapper1').html();
}                 
Run Code Online (Sandbox Code Playgroud)

});

HTML

<div class="span1 offset1">
     <a href="#" id="qoo" rel="popover" data-original-title="TITLEEEE" class="circle"> textttt</a>
     <div id="content-wrapper1" class="content-wrapper"> texttttttat</div> 
</div>
Run Code Online (Sandbox Code Playgroud)

但它不起作用.

dav*_*rad 36

延迟显示/隐藏不会自动显示/隐藏弹出窗口,它会在此之前定义延迟!此外,延迟不适用于手动触发类型,因此您必须具有触发器,例如hover.让延误工作.

$('#qoo').popover({
    placement : 'right',
    html : true,
    trigger : 'hover', //<--- you need a trigger other than manual
    delay: { 
       show: "500", 
       hide: "100"
    },
    content: function() {
        return $('#content-wrapper1').html();
    }
});
Run Code Online (Sandbox Code Playgroud)

但是,要实现弹出窗口的自动隐藏,您可以通过挂钩shown.bs.popover事件来执行以下操作:

$('#qoo').on('shown.bs.popover', function() {
    setTimeout(function() {
        $('#qoo').popover('hide');
    }, 1000);
});
Run Code Online (Sandbox Code Playgroud)

以上在1000毫秒,1秒后隐藏了弹出窗口.

  • @yaylitzis - 没有(!!)延迟工作,但弹出窗口没有隐藏.这从来就不是故意的.hide:100只定义_after_ click,popover将在100ms后隐藏,例如延迟隐藏100ms.要在一定时间后自动隐藏弹出框,您必须使用上面的超时方法.显示/隐藏只定义"效果",或延迟,而不是动作本身!从逻辑上看 - 如果你认为它是真的,那么"show:500"应该显示500ms后的popover - 对吗?引导文档有时候有点模糊或混乱. (2认同)