0

我正在尝试创建一个包含变量的鼠标悬停事件函数。我计划使用 if 和 else 来实现 mouseover 和 mouseleave(或 out)。我试图在 //comments 中的这个链接上进一步解释这一点。 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 方法不同的方式来做到这一点。

4

2 回答 2

1

你需要的是

$("#block").hover(function () {
    $(this).css("opacity", "1");
}, function(){
    $(this).css("opacity", ".5");
});

演示:小提琴

不是那样工作的mouseover,假设在鼠标悬停时运行的代码必须在传递给事件的回调函数中。

在您的情况下,当鼠标进入 #block 时,您需要将不透明度更改为 1,当鼠标离开时,它必须更改为 .5,为此您可以使用.hover()事件处理程序

于 2013-06-29T04:04:00.043 回答
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>
于 2013-06-29T04:08:33.690 回答