我有一个div,我给了渐变色。这样的事情 - https://i.stack.imgur.com/0hztR.png
编辑--- 我希望能够在任何时候选择div的颜色。我该怎么做?
$('.color-div').slider({
slide: function(event, ui) {
$color = hexc($('.color-div').css('background-color')); //not working
$('.color-div').slider().find('.ui-slider-handle').css('background-color', $color);
},
});
function hexc(colorval) {
var color = '';
var parts = colorval.match(/^rgb\((\d+),\s*(\d+),\s*(\d+)\)$/);
delete(parts[0]);
for (var i = 1; i <= 3; ++i) {
parts[i] = parseInt(parts[i]).toString(16);
if (parts[i].length == 1) parts[i] = '0' + parts[i];
}
color = '#' + parts.join('');
return color;
}
hexc(...)函数在delete(parts [0])行给出了一个错误,因为在对它执行match()之后,parts变量为null。
如何在滑块移动时获取滑块的颜色,以便我可以将其指定给滑块手柄。我也想要那种颜色,所以我可以执行代码的其他部分。
由于
答案 0 :(得分:0)
好吧,我无法确切地看到你想要做什么,但有一个想法,我确实看到了代码可能会阻止你的一些问题。部分问题在这里;你正试图访问&#34;背景颜色&#34; CSS的属性,从技术上讲,该值未设置。相反,你应该只访问&#34;背景&#34;属性。
$color = hexc($('.color-div').css('background'));
从这些主板上的另一个答案中获取,这是你在jQuery中控制(或改变......)背景渐变值的方法:
$(this).css('background', '-webkit-gradient(linear,left top,left bottom,from(#f4f4f4),to(#FFFFFF))');
看起来你的解决方案很接近,你可能只需要更改jQuery来访问和修改类似于上面的背景变量。 jQuery(和css)可以非常具体地使用这样的东西。您可能无法使用hexc函数获取值,因为您正在访问背景颜色而不仅仅是&#34;背景&#34;。