我创建了下面的 JavaScript 和下面的 HTML 片段,以在网页上显示一种滑入式弹出窗口。如果用户关闭弹出窗口,它还会创建一个值为“yes”的 cookie (cmmctageneral)。
我现在想检查 cookie 是否存在,如果不存在则只运行代码。这样最终的结果就是如果用户关闭了幻灯片,它会在 cookie 到期之前不会出现。
所以基本上我想:
检查饼干;如果 cookie 不存在,则运行代码 如果 cookie 确实存在,则停止
这是代码:
<script type="text/javascript">
jQuery(document).ready(function($) {
var slidebox = $('#slidebox');
if (slidebox) {
$(window).scroll(function(){
var distanceTop = $(document).height()*0.3;
if ($(window).scrollTop() > distanceTop)
slidebox.animate({'right':'0px'},300);
else
slidebox.stop(true).animate({'right':'-430px'},100);
});
$('#slidebox .close').on('click',function(){
$(this).parent().remove();
var d = new Date();
d.setTime(d.getTime() + (30*24*60*60*1000));
document.cookie = "cmmctageneral=yes; expires=" + d.toUTCString() + "; path=/";
});
}
});
</script>
<div id="slidebox"><a class="close"> </a><a href="https://www.example.com/" target="_blank"><img class="shadow alignCenter" style="width: 100%; height: auto;" src="https://www.example.com/wp-content/uploads/slide-out-cta-template.jpg"></a></div>
谢谢您的帮助
你可以这样做:
jQuery(document).ready(function($) {
var slidebox = $('#slidebox');
//check if cookie exists
if(document.cookie.indexOf('cmmctageneral=')>-1){
//remove slider
slidebox.remove();
}else if (slidebox.length>0) {
$(window).scroll(function(){
var distanceTop = $(document).height()*0.3;
if ($(window).scrollTop() > distanceTop)
slidebox.animate({'right':'0px'},300);
else
slidebox.stop(true).animate({'right':'-430px'},100);
});
$('#slidebox .close').on('click',function(){
$(this).parent().remove();
var d = new Date();
d.setTime(d.getTime() + (30*24*60*60*1000));
document.cookie = "cmmctageneral=yes; expires=" + d.toUTCString() + "; path=/";
});
}
});
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句