1 html javascript jquery fancybox fancybox-2
我在他们访问时弹出的网站上有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>
Run Code Online (Sandbox Code Playgroud)
谢谢,利亚姆.
除了启动fancybox的功能外,还可以在单击按钮时设置另一个设置cookie的值和到期时间:
function dontShow(){
$.fancybox.close(); // optional
$.cookie('visited', 'yes', { expires: 30 }); // set value='yes' and expiration in 30 days
}
Run Code Online (Sandbox Code Playgroud)
...然后验证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
Run Code Online (Sandbox Code Playgroud)
...现在是按钮的html
<a id="noShow" href="javascript:dontShow()">Don't show this message again</a>
Run Code Online (Sandbox Code Playgroud)
参见工作DEMO