Jquery + Javascript:使用切换创建Cookie

时间:2015-11-11 21:47:25

标签: javascript jquery cookies

我试图创建一个cookie,所以如果:

"切换"一旦雪风暴效果停止并按下并生成一个cookie,如果用户刷新页面,它将无法运行。如果他们" Toggle"它将再次启动暴风雪效果并删除co​​okie。

目前,我已查看http://www.w3schools.com/js/js_cookies.asp,我需要使用以下功能:

document.cookie="name";

function get_cookie(name){
var x =  name;
}

function delete_cookie( name ) {
  document.cookie = name;
}

所以我可以使用伪代码:

$("#Snow").click(function () {

    snowStorm.toggleSnow()

    // Generate a cookie here and returns it  // 
    // Selected again, cookie is deleted // 

    });


$(document).ready(function(){
  $("#Winter").click(function(){

 // Gets the cookie and doesn't run the snowStorm.resume
 // If no cookie, runs it. 


  snowStorm.resume() 


 });

有人可以告诉我一个在点击时创建cookie并再次点击时删除的例子吗?

我不知道该怎么做。我想过使用一个布尔变量并改变更改,当点击X设置为true时,如果再次点击X则设置为false - 然后我可以有一个删除或设置的方法。

1 个答案:

答案 0 :(得分:1)

为了方便起见,您可以创建一次并切换其(而不是存在)来打开/关闭雪。

你可以试试这个:

// this getCookie() function is copied from W3Schools
function getCookie(cname) {
    var name = cname + "=";
    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);
        if (c.indexOf(name) == 0) return c.substring(name.length,c.length);
    }
    return "";
}

// initialization
var on = getCookie("snow");
if(on == "") {
    document.cookie = "snow=true";
    start();
} else {
    (on == "true") ? start() : stop();
}

// toggling
$("#Winter").click(function() {
    if(getCookie("snow") == "true") {
        stop();
        document.cookie = "snow=false";  // overwrite the cookies to change them
    } else {
        start();
        document.cookie = "snow=true";
    }
});

请参阅JSFiddle.net上的working example