Mouseenter和mouseleave没有事件

时间:2011-06-17 19:22:23

标签: javascript-events if-statement mouseevent jquery

我是Jquery和Javascript的新手,刚刚开始学习一个月前,我不得不说我对你能做的一切都印象深刻!我有这段代码,我工作,但我不能让它正常运作,所以我决定问一些更有经验的人在这里。事情是这样的:我正在尝试复制Jquery中发现的mouseenter和mouseleave事件。我设法让第一个事件工作,但我不能让第二个事件正确。当光标进入红色div为蓝色时,div颜色应该会改变,当它退出时,它会再次变回红色。这是代码:

div元素的样式:

#offsetElement{width: 100px; height: 100px; position: absolute; background: red; top: 100px; left: 100px;}

Jquery代码

$(document).mousemove(function(e){
offset = $("#offsetElement").offset(),
offWidth = $("#offsetElement").width(),
offHeight = $("#offsetElement").height(),
offX = e.pageX - offset.left ,
offY = e.pageY - offset.top ;

if ((offX > 0) && (offX > offWidth)){
    return;
}   
else if ((offY > 0) && (offY > offHeight)){
    return;
}
else if ((offX < 0) && (offY > -offHeight)){
    return;
}   
else if ((offY < 0) && (offX > -offWidth)){
    return;
}   

$("#offsetElement").css("background","blue");

});

div元素:

<div id="offsetElement"></div>

1 个答案:

答案 0 :(得分:0)

你可以使用CSS。这很简单:

#offsetElement {
  width: 100px; 
  height: 100px; 
  position: absolute; 
  background-color: red; 
  top: 100px; 
  left: 100px;
}

#offsetElement:hover {
  background-color:blue;
}