变量中的函数用于创建鼠标悬停事件

时间:2013-06-29 04:01:30

标签: jquery function variables mouseover mouseout

我正在尝试创建一个包含变量的鼠标悬停事件函数。我计划使用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方法不同的方式做到这一点。

2 个答案:

答案 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>