http://acko.net/dev/farbtastic

我想要一些输入,用户可以为每个输入更改颜色。但是,每个输入都与其他一些类(例如,主体背景色或菜单背景色)同步。

我希望能够使用Farbtastic Color Picker更改颜色,并且它会同时影响INPUT和与INPUT同步的CLASS / ID。怎么做?下面的示例仅会使“colorwell”中的颜色发生变化,但是如何将其他元素分别同步到#color1,#color2 ...?谢谢

 <script type="text/javascript" charset="utf-8">
  $(document).ready(function() {
    $('#demo').hide();
    var f = $.farbtastic('#picker');
    //var p = $('#picker').css('opacity', 0.25);
    //var selected;
    $('.colorwell')
      .each(function () { f.linkTo(this);  })
      .focus(function() {
        //if (selected) {
        //  $(selected).css('opacity', 0.75).removeClass('colorwell-selected');
        //}
        f.linkTo(this);
        //p.css('opacity', 1);
        //$(selected = this).css('opacity', 1).addClass('colorwell-selected');
      });
  });
 </script>


<form action="" style="width: 500px;">
  <div id="picker" style="float: right;"></div>
  <div class="form-item"><label for="color1">Color 1:</label><input type="text" id="color1" name="color1" class="colorwell" value="#123456" /></div>
  <div class="form-item"><label for="color2">Color 2:</label><input type="text" id="color2" name="color2" class="colorwell" value="#123456" /></div>
  <div class="form-item"><label for="color3">Color 3:</label><input type="text" id="color3" name="color3" class="colorwell" value="#123456" /></div>

</form>

最佳答案

我不得不稍微修改farbtastic.js文件...基本上,我添加了这一行:

$('.' + this.id).css('background-color',fb.color);

在原始脚本的234行下方。它从当前选定的输入框中获取ID,并更改与ID相同类别的背景颜色。因此,用farbtastic更改#color1也会更新.color1类。如果要更改背景颜色以外的其他内容,则可能需要自己修改farbtastic.js。

在此处获取修改后的farbtastic.js并查看demo here

关于javascript - 颜色选择器Farbtastic在2类上同步,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1490834/

10-09 23:19
查看更多