让toggleClass保留给站点的任何查看者

时间:2016-03-16 17:38:46

标签: javascript jquery cookies toggle

如何让toggleClass保存并保留给网站的任何观众?这是一个不起作用的例子:

https://jsfiddle.net/715j94gL/3/

    $(function(){
        $(".worker").click(function(){
            $(this).toggleClass("active");        
        }); 
        }); 

我想过使用cookies,但只会在网络计算机上保存一个网站的观众。

任何帮助将不胜感激。谢谢!

3 个答案:

答案 0 :(得分:1)

据我所知,你有两种选择 - 两者都有一些陷阱。

数据库

将元素的当前类存储在数据库中。对于访问您站点的每个查看者,从所述数据库加载该类。如果你想活着,可以使用ajax和一个计时器从数据库中检索这个类。更新它。

http://www.formget.com/insert-data-in-database-using-php/

的Ajax

将当前类存储在文本文件中(如果您要为多个元素存储多个值,例如每个同事,以JSON格式存储数据将使检索更容易,保存)。与上面完全相同 - 可能不是首选方法(但值得一提,因为它是可能的,我猜)。

http://api.jquery.com/jquery.getjson/ http://www.sitepoint.com/ajaxjquery-getjson-simple-example/

陷阱

您的用户将会“打架”。在元素的类。想象一下,如果你有5-10人同时在现场直播的同时切换课程。它会变得非常分散注意力。只是需要注意的事情。

答案 1 :(得分:0)

除非你向服务器发送一些请求并将声明保存到服务器端变量(如session),否则无法实现这一点:

$(function(){
    $(".worker").click(function(){
        $(this).toggleClass("active"); 
        $.get('setState.aspx?' + $(this).hasClass('active')?"1":0");       
    }); 
    }); 

答案 2 :(得分:0)

一种方法是创建一个像这样的JSON文件:

{"employees" : {
    "name": "Bob",
    "needsWork": false
    }
}

当您单击该按钮时,让jquery更新" needsWork"员工的财产。当页面加载时,用$ .getJSON调用json并根据" needsWork"设置类。是的。