1

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

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

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

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

谢谢你的帮助。

4

1 回答 1

2

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

希望这可以帮助。

jsfiddle 代码演示

$("#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();
});
于 2013-12-04T23:12:32.017 回答