1

我想让引导弹出窗口应该出现在页面加载按钮上一次(只是将其用作指令),并且在单击按钮后它应该被销毁。

我想在按钮上弹出并在用户每次访问我的页面时引起他们的注意,如果他们是新访问者,则拖动他们的注意力点击它。

我制作了以下代码,弹出窗口出现在页面加载上,但它的工作原理就像正常的弹出窗口一样,当我单击按钮时它不会被破坏。

HTML:

<div class="container">
    <div class="row">
        <div class="col-sm-12">
            <h1>Hello World</h1>

            <p>Click on button to see Popover</p>

            <button type="button" id="example" class="btn btn-primary" rel="popover"
                data-content="Check this new option when you visit our website to catch the latest news!"
                data-original-title="This is new feature">pop
            </button>                      
        </div>
    </div>
</div>

JS:

function destroyNew(){
    $('#example').popover('destroy');
}

$(window).load(function () {
    $("#example").popover('show');
});

我也修改了JS并尝试了这种方式:

JS:

$("#example").on('click', function () {
        $('#example').popover('destroy');
    }
});

$(window).load(function () {
        $("#example").popover('show');
});

上面的代码根本不会弹出窗口,也不会在页面上正常加载。

我希望一些专家帮助我,在此先感谢。

4

3 回答 3

2

这对我有用。稍后您可以在单击后将其隐藏。你可以在这里查看 jsfiddle

$(function() { 

    $("#example").popover('show');

    $("#example").on('click', function () {
        $('#example').popover('destroy');
    });
 }); 
于 2015-08-13T11:39:34.033 回答
1

对于 Bootstrap 4,这是目前摆脱它的方法:

$(function() { 
    $("#element").popover('show');

    $("#element").on('click', function () {
        $("#element").popover('dispose'); 
    });
 });

在此处查看文档

于 2017-12-07T01:01:17.173 回答
0

你可以使用cookie。在模式中添加一个复选框。我使用我的一个项目。尝试?

$('#ppvr_dontshowagainmodal').change(function() {
if($('#ppvr_dontshowagainmodal').prop('checked') == true){
document.cookie="ppvr_dontshowagainmodal=1; expires=Thu, 18 Dec 2016 12:00:00 UTC";
}
else{
document.cookie="ppvr_dontshowagainmodal=0; expires=Thu, 18 Dec 2016 12:00:00 UTC";
}

});
function getCookie(cname) {
    var name = cname + "=";
    var ca = document.cookie.split(';');
    for(var i=0; i<ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0)==' ') c = c.substring(1);
        if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
    }
    return "";
}

function showModal()
{
if(getCookie("ppvr_dontshowagainmodal") !== "1"){
      $('#myModal').modal('show')
}
}
window.onload = showModal();
于 2015-08-13T11:40:29.423 回答