javascript - 多个 JavaScript 颜色选择器

标签 javascript jquery

我的网站上有一个颜色选择器。效果很好,但是我想要多个元素具有不同的颜色,例如文字为粉红色,背景为蓝色。

这是我目前拥有的代码(可以工作,但会更改两个框)我在某处缺少一个 id,但我不确定在哪里。

  <div class="row">


  <script type="text/javascript">
  var hexText="123";
  var colorList = [ '000000', '993300', '333300', '003300', '003366', '000066', '333399', '333333',
  '660000', 'FF6633', '666633', '336633', '336666', '0066FF', '666699', '666666', 'CC3333', 'FF9933',
  '99CC33', '669966', '66CCCC', '3366FF', '663366', '999999', 'CC66FF', 'FFCC33', 'FFFF66', '99FF66'];

var picker = $('#color-picker');

for (var i = 0; i < colorList.length; i++ ) {
picker.append('<li class="color-item" data-hex="' + '#' + colorList[i] + '" style="background-color:' + '#' + colorList[i] + ';"></li>');
}

$('body').click(function () {
picker.fadeOut(1);
});

$('.call-picker').click(function(event) {
event.stopPropagation();
picker.fadeIn(1);
picker.children('li').hover(function() {
  var codeHex = $(this).data('hex');

  $('.color-holder').css('background-color', codeHex);
  $('#pickcolor').val(codeHex).trigger('change');
});
});
  </script>
      <div class="color-wrapper">
  <p>Choose color for Header</p>
   <!-- ng-model="eventData.header" This is to post the information in the color picker box into the json at the bottom to make it useable by the server. -->
  <form name="test">
  <input type="text" name="custom_color" ng-model="Data.headerColor" placeholder="#FFFFFF" id="pickcolor" class="call-picker">
</form>
  <div class="color-holder call-picker"></div>
  <div class="color-picker" id="color-picker" style="display: none"></div>
</div>




  </div>
  <div class="row">


  <script type="text/javascript">
  var hexText="123";
  var colorList = [ '000000', '993300', '333300', '003300', '003366', '000066', '333399', '333333',
  '660000', 'FF6633', '666633', '336633', '336666', '0066FF', '666699', '666666', 'CC3333', 'FF9933',
  '99CC33', '669966', '66CCCC', '3366FF', '663366', '999999', 'CC66FF', 'FFCC33', 'FFFF66', '99FF66'];

var picker = $('#color-picker2');

for (var i = 0; i < colorList.length; i++ ) {
picker.append('<li class="color-item" data-hex="' + '#' + colorList[i] + '" style="background-color:' + '#' + colorList[i] + ';"></li>');
}

$('body').click(function () {
picker.fadeOut(1);
});

$('.call-picker2').click(function(event) {
event.stopPropagation();
picker.fadeIn(1);
picker.children('li').hover(function() {
  var codeHex = $(this).data('hex');

  $('.color-holder2').css('background-color', codeHex);
  $('#pickcolor2').val(codeHex).trigger('change');
});
});
  </script>
      <div class="color-wrapper">
  <p>Choose color for Header</p>
   <!-- ng-model="eventData.header" This is to post the information in the color picker box into the json at the bottom to make it useable by the server. -->
  <form name="test">
  <input type="text" name="custom_color2" ng-model="Data.bodytextColor" placeholder="#FFFFFF" id="pickcolor2" class="call-picker2">
</form>
  <div class="color-holder2 call-picker2"></div>
  <div class="color-picker2" id="color-picker2" style="display: none"></div>
</div>

最佳答案

picker 变量必须更改。

<script type="text/javascript">
  var hexText="123";
  var colorList = [ '000000', '993300', '333300', '003300', '003366', '000066', '333399', '333333',
  '660000', 'FF6633', '666633', '336633', '336666', '0066FF', '666699', '666666', 'CC3333', 'FF9933',
  '99CC33', '669966', '66CCCC', '3366FF', '663366', '999999', 'CC66FF', 'FFCC33', 'FFFF66', '99FF66'];

var picker2 = $('#color-picker2');

for (var i = 0; i < colorList.length; i++ ) {
picker2.append('<li class="color-item" data-hex="' + '#' + colorList[i] + '" style="background-color:' + '#' + colorList[i] + ';"></li>');
}

$('body').click(function () {
picker2.fadeOut(1);
});

$('.call-picker2').click(function(event) {
event.stopPropagation();
picker2.fadeIn(1);
picker2.children('li').hover(function() {
  var codeHex = $(this).data('hex');

  $('.color-holder2').css('background-color', codeHex);
  $('#pickcolor2').val(codeHex).trigger('change');
});
});
  </script>

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

相关文章:

javascript - Angular 路由配置在 1.2.3 中不起作用

javascript - 如何使用 JavaScript 使 div 可点击以进行触摸?

jquery - 使用 jquery 将某些内容 append 到选定的文本

javascript - Rails 和 JQuery 下拉列表

javascript - 如何检测 Kendo 中是否进行了过滤?

javascript - 在 ReactJS 中,如何将集合传递给子元素?

javascript - 如何在javascript中使用cheerio获取子属性值

php - 在 wordpress 网站中使用 paypal 按钮提交表单数据

jquery - CSS/Jquery - 响应悬停

javascript - 为什么自定义函数引用一直指向旧函数