2013-10-03 5 views
1

Я использую jQuery Spectrum в качестве подборщика цветов в своем приложении (http://bgrins.github.io/spectrum). Я не могу понять, как установить палитру после инициализации плагина.Изменение цветовой палитры спектра jQuery после инициализации?

Это, как создать палитру, когда он первый инициализирован:

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

Как я могу обновить палитру на новый выбор цветов, не разрушая и повторно инициализировать?

Спасибо за любую помощь.

ответ

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(); 
}); 
+0

Я никогда не замечал этого ответа так принимать более 1 год! Действительно, это работает :) – Andrew

Смежные вопросы