是否可以在 jQuery / javascript 中逐步增加或减少十六进制颜色值?
我想做的是这样的:
适应 for 循环
for (var i = 0; i <= 100; i++) {
console.log(i);
}
我想做类似的事情
for (var color = 000000; color <= ffffff; color++) {
console.log(color);
}
没有任何转换。
那可能吗?我已经尝试过这个:
for (var color = parseInt('000000', 16); color <= parseInt('ffffff', 16); color++){
console.log(color.toString(16));
}
它可以工作,但速度非常慢(我收到警告说脚本正在减慢网站速度,如果我想停止脚本)。
我想这样做的原因:我想在一定的间隔内改变svg渐变的色标。例如,如果我有这个 svg(简化):
<svg>
...
<linearGradient>
<stop offset="0%" stop-color="#C8E3EF"/>
<stop offset="100%" stop-color="#C8E3EF"/>
</linearGradient>
...
</svg>
这个渐变当然会显示为纯色。现在我想逐步将其更改为例如
<svg>
...
<linearGradient>
<stop offset="0%" stop-color="#dfcf99"/>
<stop offset="100%" stop-color="#c5b6ec"/>
</linearGradient>
...
</svg>
在每一步或每间隔,我都想使一个值更接近目标颜色(通过加法/减法)。最后的结果应该是平滑的彩色动画。没有转换有可能吗?顺便说一句,它不一定是for循环,我只是选择它来说明我的想法。