Ответ 1
Здесь вы можете найти демо и плагины.
Я слышал, что пользовательский интерфейс jQuery включает в себя Color Picker, но может найти небольшую документацию по этому поводу.
Он существует?
Любая достойная документация о том, как ее реализовать?
Я нашел это: http://docs.jquery.com/UI/Colorpicker
Но используя:
$("#colorpicker").colorpicker();
не работает, Firebug говорит мне, что .colorpicker();
не метод!
Кажется, что все нормально, если я не помещаю его в диалоговый интерфейс, где он решает сломаться.
Здесь вы можете найти демо и плагины.
Возможно, я очень опаздываю, но теперь есть другой способ использовать его с помощью jquery ui slider.
Вот как это показано в jquery ui docs:
function hexFromRGB(r, g, b) {
var hex = [
r.toString( 16 ),
g.toString( 16 ),
b.toString( 16 )
];
$.each( hex, function( nr, val ) {
if ( val.length === 1 ) {
hex[ nr ] = "0" + val;
}
});
return hex.join( "" ).toUpperCase();
}
function refreshSwatch() {
var red = $( "#red" ).slider( "value" ),
green = $( "#green" ).slider( "value" ),
blue = $( "#blue" ).slider( "value" ),
hex = hexFromRGB( red, green, blue );
$( "#swatch" ).css( "background-color", "#" + hex );
}
$(function() {
$( "#red, #green, #blue" ).slider({
orientation: "horizontal",
range: "min",
max: 255,
value: 127,
slide: refreshSwatch,
change: refreshSwatch
});
$( "#red" ).slider( "value", 255 );
$( "#green" ).slider( "value", 140 );
$( "#blue" ).slider( "value", 60 );
});
#red, #green, #blue {
float: left;
clear: left;
width: 300px;
margin: 15px;
}
#swatch {
width: 120px;
height: 100px;
margin-top: 18px;
margin-left: 350px;
background-image: none;
}
#red .ui-slider-range { background: #ef2929; }
#red .ui-slider-handle { border-color: #ef2929; }
#green .ui-slider-range { background: #8ae234; }
#green .ui-slider-handle { border-color: #8ae234; }
#blue .ui-slider-range { background: #729fcf; }
#blue .ui-slider-handle { border-color: #729fcf; }
<link rel="stylesheet" href="//code.jquery.com/ui/1.11.4/themes/smoothness/jquery-ui.css">
<script src="//code.jquery.com/jquery-1.10.2.js"></script>
<script src="//code.jquery.com/ui/1.11.4/jquery-ui.js"></script>
<p class="ui-state-default ui-corner-all ui-helper-clearfix" style="padding:4px;">
<span class="ui-icon ui-icon-pencil" style="float:left; margin:-2px 5px 0 0;"></span>
Simple Colorpicker
</p>
<div id="red"></div>
<div id="green"></div>
<div id="blue"></div>
<div id="swatch" class="ui-widget-content ui-corner-all"></div>
Убедитесь, что на вашем сайте есть jQuery UI base и виджет выбора цвета (а также копия jQuery 1.3):
<link rel="stylesheet" href="http://dev.jquery.com/view/tags/ui/latest/themes/flora/flora.all.css" type="text/css" media="screen" title="Flora (Default)">
<script type="text/javascript" src="http://dev.jquery.com/view/tags/ui/latest/ui/ui.core.js"></script>
<script type="text/javascript" src="http://dev.jquery.com/view/tags/ui/latest/ui/ui.colorpicker.js"></script>
Если у вас есть включенные, попробуйте опубликовать свой источник, чтобы мы могли видеть, что происходит.
Была ли та же проблема (не метод) с jQuery при работе над автозаполнением. Казалось, что код был выполнен до загрузки autocomplete.js. Поэтому перед вызовом colorpicker загрузите файл ui.colorpicker.js.
Это потому, что вы пытаетесь получить доступ к плагину перед его загрузкой. Вы должны попробовать позвонить ему, когда DOM загружается, окружая его этим:
$(document).ready(function(){
$("#colorpicker").colorpicker();
}