I got a script like that (I use jQuery cookie js to set cookies) to display layer on first visit.
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>
If somebody stumbles across this 6 years into the future like I, I got this to work with modification:
Replace: $.cookie -> Cookies