如何在5秒后消除此弹出窗口?另外,如果我点击它,我怎么能让它隐藏?
from subprocess import check_output,CalledProcessError
try:
data = check_output(args, env=environ)
except CalledProcessError as e:
print(e.output)
else:
print(data)
答案 0 :(得分:9)
嗯,@ Coding Enthusiast所提到的,肯定会为你完成这项工作。同样,我只是made the fiddle。你可以看一下。
我所做的就是按钮,但你可以替换它
<强> HTML 强>
<div class="bs-example">
<button type="button" class="btn btn-primary" data-toggle="popover" title="Popover title" data-content="Default popover">Popover</button>
</div>
<强> jquery的强>
$(document).ready(function () {
$('[data-toggle="popover"]').popover({
placement: 'bottom',
delay: {
"show": 500,
"hide": 100
}
});
$('[data-toggle="popover"]').click(function () {
setTimeout(function () {
$('.popover').fadeOut('slow');
}, 5000);
});
});
不要忘记show和hide(issue here)
上的双引号答案 1 :(得分:3)
收听ul.menu.fright
上的悬停事件。显示您的popover
,然后setTimeout
以在一段时间后隐藏它。
//this is with the hover
$('ul.menu.fright').hover(function(){
$('ul.menu.fright').popover('show');
tmp = setTimeout(function(){$('.popover').popover('hide')}, 5000);
});
我意识到我的原始答案没有彻底回答你的问题所以我稍微调了一下。现在它会在加载时自动显示,并在5秒后隐藏。点击显示。
$('ul.menu.fright').popover({
placement: 'bottom',
delay: {
show: 500,
hide: 100
},
content:'Look at me!'
}).popover('show');
$('ul.menu.fright').on('shown.bs.popover', function () {
setTimeout(function() {
$('.popover').fadeOut('slow',function() {});
},5000);
});
$('#cokepop').click(function () {
$('#cokepop').popover('show');
});
我的JsFiddle 2可以创造奇迹但你可以通过隐藏popover来改善用户体验,如果它在点击时显示并显示它是隐藏的。
您所要做的就是更改onclick
事件:
$('#cokepop').click(function () {
if ($("#cokepop").next('div.popover:visible').length){
$('#cokepop').popover('hide');
}else{
$('#cokepop').popover('show');
}
});
答案 2 :(得分:0)
我认为.popover是一个与你用来弹出窗口工作的东西相关联的函数,但也许这段代码可以帮助你呢?
$('ul.menu.fright').delay(5000).hide();
$('ul.menu.fright').on('click', function() {
$(this).hide();
});
将div设置为在加载时显示,然后JS将延迟删除5000毫秒然后隐藏它。第二个函数是一个用于点击的函数,它将隐藏
答案 3 :(得分:0)
这似乎解决了HPWD提出的每个要素的褪色。
$(document).ready(function () {
$('[data-toggle="popover"]').popover({
placement: 'bottom',
delay : {
hide : 5000 // doesn't do anything
}
}).on('shown.bs.popover', function () {
setTimeout(function (a) {
a.popover('hide');
}, 3000, $(this));
});
});
答案 4 :(得分:0)
向每个元素添加data
属性,以跟踪 html 上的弹出窗口可见性:
data-popoverisvisible="0"
JS :根据用户点击手动触发弹出式窗口的隐藏显示:文档准备就绪时...
$('.element-with-popover').on( 'click', function( evt ) {
var elem,
delay;
delay = 5000; // 5 seconds
evt.preventDefault();
evt.stopImmediatePropagation();
elem = evt.currentTarget;
if( $( elem ).data( 'popoverisvisible' ) == 1 )
{
$( elem ).popover( 'hide' );
$( elem ).data( 'popoverisvisible', 0 );
}
else
{
$( elem ).popover( 'show' );
$( elem ).data( 'popoverisvisible', 1 );
setTimeout( function() {
if( $( elem ).data( 'popoverisvisible' ) == 1 )
{
$( elem ).popover( 'hide' );
$( elem ).data( 'popoverisvisible', 0 );
}
}, delay );
}
} );
弹出窗口将在用户单击时显示,并在以后的单击中隐藏(如果仍然可见)。
显示的弹出窗口将在显示后5秒自动隐藏。