鼠标悬停后设置变量

时间:2015-11-10 19:15:52

标签: javascript jquery

$(".squares").on('mouseover', function(){
 $(this).css('background-color', getRandomColor());

getRandomColor()是一个函数,当鼠标中的网格中的方块时,它返回一个随机颜色函数。

我希望能够重复一次并且颜色会发生变化,但如果我再过一次,颜色会保持不变。现在,每次鼠标悬停后颜色都会反复变化。我知道它可能需要if语句。我只是不知道如何将语句设置为背景颜色。

3 个答案:

答案 0 :(得分:2)

使用.one()

$(".squares").one('mouseover', function() {
 $(this).css('background-color', getRandomColor());
});

答案 1 :(得分:0)

你可以添加一个'数据 - '属性,所以你知道它是否已被更改?

答案 2 :(得分:0)

您可以使用unbind()事件。这将在mouseover事件被调用后取消绑定。

$(".squares").on('mouseover', function(){
 $(this).css('background-color', getRandomColor());
    $(this).unbind('mouseover');
});

http://jsfiddle.net/j6um1sq2/17/