Reputation: 230
I got a script like that (I use jQuery cookie js to set cookies) to display layer on first visit.
<script type="text/javascript">
$(document).ready(function() {
var visited = $.cookie('visited', 'yes', { expires: 1, path: '/' });
if (visited == null) {
$('.newsletter_layer').show();
$.cookie('visited', 'yes');
alert($.cookie("visited"));
}
});
</script>
Unfortunatelly something is not working. I think something is wrong with the if statement. Anyone have idea what can be wrong?
Upvotes: 4
Views: 33585
Reputation: 11
If somebody stumbles across this 6 years into the future like I, I got this to work with modification:
Replace: $.cookie -> Cookies
Upvotes: 0
Reputation: 337714
Because you are creating the cookie, it will never be null. You need to change your logic to first check if the cookie exists. If not, show the .newsletter_layer
element, then set the cookie value:
<script type="text/javascript">
$(document).ready(function() {
// check cookie
var visited = $.cookie("visited")
if (visited == null) {
$('.newsletter_layer').show();
alert($.cookie("visited"));
}
// set cookie
$.cookie('visited', 'yes', { expires: 1, path: '/' });
});
</script>
Upvotes: 16