我正在尝试制作一个在鼠标悬停时循环显示背景颜色的 div。我已经想出了如何使背景颜色从一组值切换到一个颜色值 on mouseenter
,但不知道如何让它继续下去。
当鼠标悬停在元素上时,如何使背景颜色不断变化(一旦我鼠标移出就停止)?
这是迄今为止我所拥有的一个完整的工作小提琴:FIDDLE
我的 HTML:
<body>
<div id="coloredDiv" data-index="-1"></div>
</body>
我的 CSS:
#coloredDiv {
width:200px;
height:200px;
border:1px solid #888;
}
#coloredDiv:hover {
cursor:pointer;
}
我的 jQuery:
var colors = ['#eeeeee', "#00ff00", "#ff0000", "#000000"];
$(document).ready(function () {
$colorDiv = $('#coloredDiv');
ln = colors.length;
$('#coloredDiv').mouseenter( function () {
var i = $colorDiv.data("index");
++i;
if (i >= ln) i = 0;
$colorDiv.css({
'background-color': colors[i]
});
$colorDiv.data("index", i);
});
});