将JS事件限制为每个用户每天一次

时间:2015-07-22 16:43:35

标签: javascript jquery cookies

我希望将下面的事件限制为每个用户每天一次。这将是用户尝试离开页面时出现的影子框。我不想在每次鼠标离开身体时都用这个来惹恼用户,所以它应该只在他们每天第一次出现在网站上时发生。

$('body').one('mouseleave', function() {
    $('.shadowbox').fadeIn(400)
});

我被告知使用cookie是一种很好的方法,但我没有使用过cookie的经验。谢谢!

2 个答案:

答案 0 :(得分:1)

您可以设置该功能中的cookie到期。

here提供了良好的文档。

基本上,检查并设置该功能。

$('body').one('mouseleave', function() {
    var cookie = document.cookie; //You need to find the cookie you need here (if it exists, don't do anything)
    return; //if exists
    $('.shadowbox').fadeIn(400)
    document.cookie = "myCookieName=true; expires=(datetime + 1day)"
});

这样,如果没有可用的cookie,你只能淡化和设置。

答案 1 :(得分:0)

您可以在此处找到有关在javascript中使用Cookie的信息:How do I create and read a value from cookie?

然后,假设您正在使用上述解决方案:

$('body').on('mouseleave', function() {
    var cookie = getCookie('visited');
    if ('' == cookie) {
        $('.shadowbox').fadeIn(400);
        createCookie('visited', 'yes', 1);
    }
});