【问题标题】:jQuery UI Color Picker [closed]jQuery UI 颜色选择器 [关闭]
【发布时间】:2010-11-01 13:14:43
【问题描述】:

我听说 jQuery UI 包含一个颜色选择器,但几乎找不到关于它的文档。

它存在吗?

关于如何实现它的任何体面的文档?

我发现了这个:http://docs.jquery.com/UI/Colorpicker

但是使用:

$("#colorpicker").colorpicker();

不起作用,Firebug 告诉我 .colorpicker(); 不是一种方法!

它似乎工作正常,除非我把它放在一个对话框 UI 中,然后它决定中断。

【问题讨论】:

标签: jquery jquery-ui documentation color-picker


【解决方案1】:

你可以在这里找到一些演示和插件。

http://jqueryui.pbworks.com/ColorPicker

【讨论】:

  • 是的,我明天试试这个。干杯
【解决方案2】:

也许我已经很晚了,但是到目前为止,还有另一种方法可以使用 jquery ui slider

这是它在 jquery ui 文档中的显示方式:

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>

【讨论】:

    【解决方案3】:

    确保您的页面中包含 jQuery UI 基础和颜色选择器小部件(以及 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>
    

    如果您有这些内容,请尝试发布您的来源,以便我们了解发生了什么。

    【讨论】:

      【解决方案4】:

      在处理自动完成时,jQuery 遇到了同样的问题(不是方法)。看起来代码是在加载 autocomplete.js 之前执行的。所以请确保在调用 colorpicker 之前加载了 ui.colorpicker.js。

      【讨论】:

        【解决方案5】:

        那是因为您试图在插件加载之前访问它。您应该尝试在加载 DOM 时调用它,方法是用这个包围它:

        $(document).ready(function(){
            $("#colorpicker").colorpicker();
        }
        

        【讨论】:

          猜你喜欢
          • 2010-12-12
          • 1970-01-01
          • 2011-05-24
          • 1970-01-01
          • 2011-01-27
          • 1970-01-01
          • 1970-01-01
          • 2011-02-26
          • 1970-01-01
          相关资源
          最近更新 更多