我试图通过在用户加载页面时更改图像上的 css-filter hue-rotate 属性来赋予网页狂野和迷幻的风格。如何让色相旋转改变?我试图将我的解决方案建立在这个已回答的问题上:How to Cycle Through Background Colors on Hover with jQuery,在这个fiddle中得到了回答。
var counter = 0;
var colors = [
"#eeeeee",
"#00ff00",
"#ff0000",
"#000000"];
var $div = $('#coloredDiv');
var interval;
$('#coloredDiv').mouseenter(function () {
interval = window.setInterval(changeColor, 1000);
}).mouseleave(function () {
window.clearInterval(interval);
});
function changeColor() {
var color = colors.shift();
colors.push(color);
$div.css({
"background-color": color
});
}
但是,我没有更改 div 上的背景颜色,而是尝试更改 div 内图像的色调旋转。是的,我希望它改变 onload,而不是 onmouseenter。我正在 Chrome 中进行测试,但 Safari 也应该可以工作,因为 CSS 过滤器已在 webkit 中实现。
我的尝试,甚至还没有尝试合并 onload 方面:
var counter = 0;
var filters = [
"hue-rotate(99deg)",
"hue-rotate(22deg)",
"hue-rotate(144deg)",
"hue-rotate(270deg)";
var $div = $('#coloredDiv');
var interval;
$('#coloredDiv').mouseenter(function () {
interval = window.setInterval(changeFilter, 1000);
}).mouseleave(function () {
window.clearInterval(interval);
});
function changeFilter()
var filter = filters.shift();
filters.push(filter);
$div.css({
"-webkit-filter": filter
});
}