悬停时的JQuery不起作用,并在加载页面后立即运行

时间:2016-12-07 21:08:27

标签: jquery html css onhover

我想通过悬停来改变元素颜色,但是当我运行页面时,它会立即触发这些功能,有没有办法阻止它这样做?重新加载页面时可以看到。

https://jsfiddle.net/9ae0ez2y/

function colorIn(primary){
    $("header").css("background-color", primary);
    $(".button").css("background-color", primary);
}

function colorOut(secondary){
    $("header").css("background-color", secondary);
    $(".button").css("background-color", secondary);
}
$("#variables").hover(colorIn("#ffffff"), colorOut("#111111"));

2 个答案:

答案 0 :(得分:4)

将您的悬停声明更改为:

$("#variables").hover(function() {
  colorIn("#ffffff")
}, function() {
  colorOut("#111111")
})

<强> jsFiddle example

你写它的方式是你立即调用函数

答案 1 :(得分:0)

你没有传递函数,而是在hover中调用它们,你应该做这样的事情,

$("#variables").hover(colorIn.bind(null, "#ffffff"), colorOut.bind(null, "#111111"));