изменение цветов с помощью jquery с помощью палитры цветов?
У меня есть этот скрипт jquery, который мгновенно меняет цвет фона, введя цветовой код в текстовое поле, рабочий пример находится в ссылке jsfiddle ниже.
но вместо поля ввода я хотел использовать пользовательский скин выбора цвета, потому что я не хочу, чтобы пользователь имел дело с шестнадцатеричным кодом(так же, как twitter). этот jQuery плагин им пытаются использовать в
http://www.eyecon.ro/colorpicker/
на кнопке страницы он имеет аккуратный выбор цвета с элементом DOM.
Итак, проблема в том, как я собираюсь изменить тип ввода на выбор цвета div. спасибо :))
5 ответов
замените входной элемент на div используйте что-то вроде: (непроверено!)
HTML-код
<div id='colourPicker'></div>
JS
$('#colourPicker').ColorPicker({
onChange: function(hsb, hex, rgb){
$("#full").css("background-color", '#' + hex);
}
});
в нижней части ссылки у вас есть пример, который показывает вам, как это сделать.
обновлений для изменения текста
HTML-код
<div id='colourPickerText'></div>
<div id='textToBeChanged'>Test text</div>
JS
$('#colourPickerText').ColorPicker({
onChange: function(hsb, hex, rgb){
$("#textToBeChanged").css("color", '#' + hex);
}
});
как раз как более дальнеишая ссылка... HTML5 уже включает "цвет" в качестве типа ввода.
<label for="bg">Choose color:</label>
<input id="bg" type="color" />
плюс, вы можете применить некоторый стиль css с:
input[type="color"]{/*css-here*/}
теперь главный вопрос... вы можете захватить значение цвета, чтобы изменить BG-цвет с помощью простого скрипта. Живой пример: http://jsfiddle.net/7jg4e/152/
Как насчет:
$('#colorSelector').ColorPicker({
onChange: function(hsb, hex, rgb)
{
$("#full").css("background-color", hex);
}
});
спасибо keithics..
У меня была похожая проблема. Мне пришлось вызвать colorpicker для динамических кнопок. Я сделал это с классом вместо id.
это мне очень помогло.
$('.colorSelector').ColorPicker({
onChange: function(hsb, hex, rgb,el)
{
$(el).val('#' + hex);
}
});
У меня такая же проблема и ниже-это мое решение.
редактировать colorpicker.js line 96
с
cal.data('colorpicker').onChange, после.применить(cal, [col, HSBToHex(col), HSBToRGB (col)]);
до
cal.data('colorpicker').onChange, после.применить(cal, [col, HSBToHex(col), HSBToRGB (col), cal.data('colorpicker').el]);
при изменении события вместо onChange: function (hsb, hex, rgb) ...
до
onChange: функция (hsb, hex, rgb,el) {
$(Эль.)val ('#'+hex);
}