Function &引用;记住;分区';s风格点击(设置cookie)-jquery和jquery cookie插件
我有一组带有mouseenter、mouseleave和click事件的divFunction &引用;记住;分区';s风格点击(设置cookie)-jquery和jquery cookie插件,function,cookies,jquery-cookie,jquery,Function,Cookies,Jquery Cookie,Jquery,我有一组带有mouseenter、mouseleave和click事件的div var originalAttributes = $('.aaa').attr('style'); $('.aaa').mouseenter(function () { $(this).css('background', '#aaaaaa'); $(this).css('border', 'solid 1px red'); }); $('.aaa').mouseleave(function () {
var originalAttributes = $('.aaa').attr('style');
$('.aaa').mouseenter(function () {
$(this).css('background', '#aaaaaa');
$(this).css('border', 'solid 1px red');
});
$('.aaa').mouseleave(function () {
$(this).css('background','blue');
});
$('.aaa').click(function () {
var $this = $(this);
update_x1(this);
$this.off('mouseenter mouseleave');
});
$('#save').click(function () {
$.cookie({ expires: 30 });
});
$('#clear').click(function () {
$('.aaa').attr('style',originalAttributes);
});
如何在此函数中以及使用jquery cookie插件实现“保存”和“清除”功能
单击“保存”应“记住”div的当前样式,单击“清除”应将样式重置为原始样式并清除cookie(或重新写入)
编辑:由Shimon Rachlenko解决-以下是保存和清除按钮的代码:
$('#save').click(function () {
$('.aaa').each(function(){
var d = $(this),
id = d.attr('id'),
style = d.attr('style');
if (style != originalAttributes){ //style changed
$.cookie('aaaStyle' + id, style, { expires: 30 });
}
});
});
var originalAttributes = "position: relative; left: 50px; top: 30px; width: 300px; height: 50px; background: #222222";
$('#clear').click(function () {
// unset changes
$('.aaa').attr('style',originalAttributes);
});
请参见您需要保存
.aaa
元素的样式吗?是的,具有该类的所有div。这些div可能具有不同的样式。对于具有.aaa类的所有div,默认样式相同,但每个div单独与鼠标事件交互。因此,清除按钮应将样式重置为某些默认样式,而不是存储的样式,对吗?还有“保存”按钮-是否应该单独保存每个div的样式,或者如果div有不同的样式,则只保存其中一个div的样式?谢谢。我在Firefox和Chrome上试用过,但都不起作用。“保存”似乎不起作用。(另外,“清除”也应该清除cookie,或者如果更容易的话,只需让这些按钮记住所有div的状态即可)。保存为每个div创建cookie,命名为aaaStyleb1。添加删除Cookie,在此处看不到任何结果:(…当我单击“保存”并重新加载时,什么都没有发生-只加载默认样式。现在我看到了..您以前从未提到要重新应用保存的样式:)您只说要保存样式:)