2017-03-07 87 views
0

我在下面創建了JavaScript,並在下面創建了HTML片段,以在網頁上顯示彈出式滑入式樣式。如果用戶關閉了彈出窗口,它還會創建一個值爲「是」的cookie(cmmctageneral)。僅當特定cookie不存在時才能運行此JavaScript函數和HTML

我想現在檢查cookie是否存在,如果沒有,只運行代碼。因此,最終的結果是,如果用戶關閉滑入,它將不會出現,直到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">&nbsp;</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> 

感謝您的幫助

回答

0

你可以做這樣的事情:

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=/"; 
    }); 
    }  
}); 
+0

太棒了。這似乎是完美的。非常感激。 –

+0

@LloydSilver然後你應該標記這個答案爲接受,如果它可以幫助你 –

相關問題