我正在尝试创建一个包含变量的鼠标悬停事件函数。我计划使用if和else来实现mouseover和mouseleave(或out)。我试图在//评论中的这个链接上进一步解释这一点。 http://jsfiddle.net/EsEBY/14/
jQuery的:
var n = $("#block").mouseover(function () {});
if (n) { //if variable n (mouseover) occurs on #block, make #block opacity 1
$("#block").css("opacity", "1"),
alert("Working!");
} else { //else #block opacity .5
$("#block").css("opacity", ".5");
}
CSS:
#block {
width:5em;
height:5em;
background:#CCC;
margin:1em;
}
我可能错了,但我试图以与.hover方法不同的方式做到这一点。
答案 0 :(得分:1)
您需要的是
$("#block").hover(function () {
$(this).css("opacity", "1");
}, function(){
$(this).css("opacity", ".5");
});
演示:Fiddle
mouseover
不能正常工作,假设在鼠标悬停时运行的代码必须在传递给事件的回调函数中。
在你的情况下,当mouser进入#block时你需要将不透明度改为1,当鼠标离开时它必须改为.5,为此你可以使用.hover()事件处理程序
答案 1 :(得分:0)
如果您只是尝试使用jQuery更改鼠标悬停的不透明度,那么这可能是您尝试做的事情:
$("#block").mouseover(function () {
$(this).css('opacity', '1');
}).mouseout(function(){
$(this).css('opacity', '.5');
});
但是,使用CSS可能会更好:
<style type="text/css">
#block {
opacity: .5;
}
#block:hover {
opacity: 1;
}
</style>