我想同时改变背景颜色:
.set-color是li中每个a的类。
jQuery:
$('.set-color').each(function(index, el) {
var currentColor = $(this).data('color');
$(this).ColorPickerSliders({
size: 'sm',
placement: 'left',
swatches: false,
sliders: false,
hsvpanel: true,
onchange: function(container, color) {
var colorRGB = 'rgba('+ color.rgba.r +','+ color.rgba.g +','+ color.rgba.b +',1)';
var rgbToHex = rgb2hex( colorRGB );
$.each(stuff, function(index, val) {
// stuff is an array and in each item I want to change the color
if (stuff.color == currentColor) {
stuff.color == rgbToHex;
};
});
}
});
});
HTML li结构:
<li>
<a href="#" class="set-color" data-color="#da8ba3">
<span>ORDER</span>
</a>
</li>
我不知道我是否正确更改了代码,因为我的代码中有很多其他内容。我试图尽可能地简化它。
颜色选择器改变了东西的颜色但只改变了一次。如果我想更改颜色,我必须再次点击我的.set-color。
我的问题是,我不知道如何更新currentColor
ColorPickerSliders
上的onchange
。因此,当ColorPickerSliders
更改时,我必须更新currentColor
,然后更新$.each(stuff, ...
和if
条件。
编辑:东西是:
如果我在$ .each(东西等等)之前调试console.log(东西)......我有这个: