jQuery cookie:如何保存用户的颜色选择以供下次访问?

时间:2015-07-12 16:01:13

标签: javascript jquery cookies

我正在使用jQuery预定义的颜色选择器。当用户点击我的颜色选择器的一种颜色时,我想保存颜色选择:http://prntscr.com/7rnafa。要与cookie交互,我在https://github.com/carhartl/jquery-cookie使用jQuery插件。

jQuery代码:

var color_elements_background = ".nodeList .categoryStrip, .breadcrumb";

var color_elements_text = "a:link, a:visited";

$(".colorPicker span").on("click", function()
{
    var customColor = $(this).attr("custom_color");
    $(color_elements_background).css("background-color", customColor);
    $(color_elements_text).css("color", customColor);
});
});

我的颜色选择器的HTML:

                <div class="colorPicker">
                    <div class="colorPickerContent">
                        <div class="colorPickerItems">
                            <li>
                                <span custom_color="#FF0000">Color 1</span>
                            </li>
                            <li>
                                <span custom_color="#333333">Color 2</span>
                            </li>
                            <li>
                                <span custom_color="#FFFFFF">Color 3</span>
                            </li>
                            <li>
                                <span custom_color="#D0D0D0">Color 4</span>
                            </li>
                            <li>
                                <span custom_color="#CCCCCC">Color 5</span>
                            </li>
                        </div>
                    </div>
                </div>

2 个答案:

答案 0 :(得分:2)

请参阅插件:

https://github.com/js-cookie/js-cookie

要使用Javascript库js.cookie保存cookie,您可以使用:

Cookies.set("color", customColor);

同样从保存的cookie中获取值将是:

var customColor = Cookies.get("color");

如果您想删除该Cookie,请使用:

Cookies.remove("color");

答案 1 :(得分:-1)

使用cookie库存储以前的选择,并使用$(document).ready(function(){}填充DOM。

如果您的Cookie未保存,请确认已设置Cookie的域。设置Cookie时,Cookie域通常与您的网站不匹配。请注意,如果您使用http://localhost,则无法保存Cookie。使用Chrome开发工具中的“资源”标签确认您的Cookie已设置。

P.S。如果您希望有人为您工作,请考虑使用freelancer.com或odesk。