javascript - 在拾色器调色板中更新新颜色

标签 javascript

我安装了一个 jQuery 插件 Color picker: colpick.js 但我不知道该怎么做 为调色板中的圆形图标设置新颜色(刷新页面后,元素的背景发生了变化,但调色板中的圆形图标仍处于默认颜色区域color:'003a7d。它没有更新。)(但是,颜色选择器和cookie运作良好。)

这是我的代码: HTML :

<div id="picker"></div>

JS:

    if($.cookie('body_color')) {
        $('body,.livebgchanger ul li a').css('background-color', $.cookie('body_color'));        
    }
    else {
        $('body,.livebgchanger ul li a').css('background-color', '#003a7d');
    }
   $('#picker').colpick({
    flat:true,
    submit:0,
    layout:'full',
    color:'003a7d', //default color
    onChange:function(hsb,hex,rgb,el){
        $('body,.livebgchanger ul li a').css('background-color', '#' + hex);
        $.cookie('body_color', '#' + hex, { expires: 365 });
    }
    });

之前(我选择了一种新颜色并且“body”背景颜色已经改变): click to view image

刷新页面后:(正文背景颜色已更改,但圆形图标和调色板中的颜色在默认颜色区域) enter link description here

如何添加此选项并为调色板中的圆形图标设置新颜色?

对不起我的英语。 谢谢

最佳答案

您正在对颜色选择器的默认值进行硬编码。您应该将 cookie 值提取到一个变量中,并使用它来设置背景和颜色选择器颜色。

var currColor = $.cookie('body_color') || '#003a7d'; 
$('body,.livebgchanger ul li a').css('background-color', currColor);          
$('#picker').colpick({
    flat: true,
    submit: 0,
    layout: 'full',
    color: currColor.substring(1), //skip the #
    onChange: function(hsb, hex, rgb, el) {
        $('body,.livebgchanger ul li a').css('background-color', '#' + hex);
        $.cookie('body_color', '#' + hex, {
            expires: 365
        });
    }
});

关于javascript - 在拾色器调色板中更新新颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25774643/

相关文章:

javascript - 当我单击链接时,我正在调用我的对话框,但对话框没有出现

javascript - 从数字键盘检测十进制(点)键

javascript - 包含选择的 div 在附加到表单后不起作用

javascript - "Closure"如何影响 jQuery 中 dom 节点的嵌套遍历?

javascript - jQuery param() 函数给出 this.replace 不是一个函数

javascript - 如何让 jStree 从 HTML 源代码中读取初始树

javascript - 如何增加向上滚动的计数

javascript - 无法在 Protractor 中检索电子邮件信息

javascript - 如何使用 yield generator 异常测试 chai

javascript - 绑定(bind)已经绑定(bind)到另一个元素的函数