初始化后更改jQuery光谱调色板?

时间:2013-10-03 11:44:50

标签: jquery spectrum

我在我的应用程序中使用jQuery Spectrum作为颜色选择器(http://bgrins.github.io/spectrum)。插件初始化后,我无法弄清楚如何设置调色板。

这是我在第一次初始化时创建调色板的方法:

$("#showPalette").spectrum({
    showPalette: true,
    palette: [
        ['black', 'white', 'blanchedalmond'],
        ['rgb(255, 128, 0);', 'hsv 100 70 50', 'lightyellow']
    ]
});

如何在不破坏和重新初始化的情况下将调色板更新为新的颜色选择?

感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

看到没有人对此作出回应,所以我想我试一试。简短的回答是,一旦在DOM中,几乎可以改变任何东西。我在这里创建了一个简单的演示,以显示初始化的调色板,然后将颜色动态添加(和删除)到调色板。

希望这会有所帮助。

jsfiddle code demo

$("#colorTest").spectrum({
    showPalette: true,
    flat: true,
    palette: [
        ['black', 'white', 'blanchedalmond'],
        ['rgb(255, 128, 0);', 'hsv 100 70 50', 'lightyellow']
    ]
});

$('#add').click( function() {
    var newColor = "<span id='colorRed' title='red' data-color='red' class='sp-thumb-el sp-thumb-light'><sp class='sp-thumb-inner' style='background-color: red;'></span></span>";

    if ( $("[data-color='red']").length == 0 ) {
       $(newColor).appendTo('.sp-palette-row-0');
    }
});

$('#remove').click( function() {
   $('#colorRed').remove();
});