的fancybox - “不要再显示此消息”按钮?(FancyBox - “Don't s

2019-07-05 00:44发布

我有一个网站,当他们访问弹出并在其内部具有一些信息上的fancybox。 我想补充某种按钮,用户可以点击,并设置一个cookie不显示消息约一个月左右。

我很没用,当谈到这样的事情,因此,如果任何人都可以走,虽然我做什么,这将是真棒。

这是我到目前为止所。 在底部,我已经添加了什么,我想可能是所提出的cookie(“NOSHOW”)锚,但我不知道它是否会工作喜欢它。 我已经加载的所有的jQuery的脚本此之前的fancybox,之后那些太加载jquery.cookie.js。 如果它的事项,我使用的是什么了的fancybox 2最新的下载。

<script type="text/javascript"> 
function openFancy() { 
setTimeout( function() {$('#autoStart').trigger('click'); },1000);
} 

$(document).ready(function() {
    openFancy();
    $('#autoStart').fancybox();
});
</script>

<!-- This is the popup itself -->
<a id="autoStart" style="display:none" href="#autoFancybox"></a>
 <div style="display: none;">
  <div id="autoFancybox" style="width: 800px">
   <div>
    <!-- My content for the Fancybox is here -->
    <br />
    <p style="font-size:10px" align="right">
    <a id="noShow" href="#noShow">Don't me show this message again</a>
    </p>
   </div>
  </div>
 </div>

谢谢,利亚姆。

Answer 1:

除了你的功能启动的fancybox,再拍设置cookie的到期时间单击按钮时:

function dontShow(){
 $.fancybox.close(); // optional
 $.cookie('visited', 'yes', { expires: 30 }); // set value='yes' and expiration in 30 days
}

...然后再验证cookie,并决定是否启动fancybor与否:

$(document).ready(function() {
    var visited = $.cookie('visited'); // create cookie 'visited' with no value
    if (visited == 'yes') {
        return false;
    } else {
        openFancy(); // cookie has no value so launch fancybox on page load
    }
  $('#autoStart').fancybox(); // bind fancybox to selector
}); // ready

......现在您的按钮的HTML

<a id="noShow" href="javascript:dontShow()">Don't show this message again</a>

工作演示



Answer 2:

有一个伟大的jQuery插件,用于管理Cookie,你应该看看- https://github.com/carhartl/jquery-cookie

当用户点击你的网站,你可以检查你的cookie,看看他们是否已经有前。 如果他们没有再显示动画,并设置cookie。 如果他们那么不运行动画。

从jQuery的cookie的文档一目了然,你可以设置一个cookie 7天,像这样:$ .cookie(“访问”,“是”,{到期:7}); 所以,你的代码可能是这样的:

// Make sure DOM has fully loaded before running code
$(function(){
    if( ! $.cookie('visited')){
        // Your code here
    } else {
        $.cookie('visited', 'yes', { expires: 7 });
    }
});


文章来源: FancyBox - “Don't show this message again” button?