Jquery 当按钮点击6次时设置cookie并禁用点击

Jquery 当按钮点击6次时设置cookie并禁用点击,jquery,cookies,limit,Jquery,Cookies,Limit,我试图对点击六次的按钮进行限制,然后使其在30分钟内不可点击,即使你重新加载页面,它也必须禁用,但30分钟后再次显示按钮而不重新加载页面,这是可能的吗?我需要帮助 代码如下: (function(){ var click_counter = 0; jQuery('.controls_next').on('click', function(event){ event.preventDefault(); var el = jQuery(this);

我试图对点击六次的按钮进行限制,然后使其在30分钟内不可点击,即使你重新加载页面,它也必须禁用,但30分钟后再次显示按钮而不重新加载页面,这是可能的吗?我需要帮助

代码如下:

(function(){
    var click_counter = 0;
    jQuery('.controls_next').on('click', function(event){
        event.preventDefault();
        var el = jQuery(this);
        click_counter += 1;
        if (!el.hasClass('')){
            // should be activated
        };
        if (click_counter >= 6){
            // deactivate
            el.addClass('disabled');
            var date = new Date();
            var minutes = 01;
            date.setTime(date.getTime() + (minutes * 60 * 1000));
            $.cookie("skipSongCookie", { expires: date });
        };
    });
})();

您可以设置cookie并更改值:

function setCookie(c_name, value, exdays)
{
    var exdate = new Date();
    exdate.setDate(exdate.getDate() + exdays);
    var c_value = escape(value) + ((exdays === null) ? "" : "; expires=" + exdate.toUTCString());
    document.cookie = c_name + "=" + c_value;
}
函数createCookie(名称、值、天数){
如果(天){
变量日期=新日期();
date.setTime(date.getTime()+(天*24*60*60*1000));
var expires=“;expires=“+date.togmString();
}
其他的
var=”;
document.cookie=name+“=”+value+expires+“path=/”;
}
函数readCookie(名称){
变量nameEQ=name+“=”;
var ca=document.cookie.split(“;”);
对于(变量i=0;i=6){
$('.controls_next').attr('disabled','disabled');
//或$('.controls_next').addClass('disabled');
}
});
});

您面临的问题是什么?顺便说一句,你还需要检查页面加载。你能把所有内容都写在一起吗?如何准确地书写?这不起作用,兄弟:(但无论如何,谢谢你的时间,我很感激。我需要的是简单的,当用户点击按钮X次时,自动禁用或隐藏它,并且必须将cookie设置为X分钟,即使你重新加载页面,也要使其隐藏,在X分钟过去后,再次启用或显示按钮,这就是我需要的。谢谢你,我为你的时间感到抱歉。)对我来说:)
function createCookie(name, value, days) {
    if (days) {
        var date = new Date();
        date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000));
        var expires = "; expires=" + date.toGMTString();
    }
    else
        var expires = "";
    document.cookie = name + "=" + value + expires + "; path=/";
}

function readCookie(name) {
    var nameEQ = name + "=";
    var ca = document.cookie.split(';');
    for (var i = 0; i < ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) === ' ') {
            c = c.substring(1, c.length);
        }
        if (c.indexOf(nameEQ) === 0) {
            return c.substring(nameEQ.length, c.length);
        }
    }
    return null;
}

function checkCookie(name, days)
{
    var value = readCookie(name);
    if (value === null) {
        createCookie(name, 1, days);
    } else {
        value += 1;
        createCookie(name, value + 1, days)
    }
    return value;
}
$(function() {
    var name = 'cookie_name';
    var days = 365;
    $('.controls_next').click(function() {
        var click_counter = checkCookie(name, days);
        if(click_counter >= 6){
            $('.controls_next').attr('disabled', 'disabled');
            // or $('.controls_next').addClass('disabled');
        }

    });
});