2012-05-21 25 views
4

<div class="animate">和CSS悬停事件:触发的CSS:用JS

div.animate:hover{ 
//do stuff 
} 

但也想通过JavaScript调用此方法。

可能吗?

+1

有你看这里[触发CSS悬停http://stackoverflow.com/questions/2228376/trigger-onmouseover-event-programatically-in-javascript – sleepwalker

+1

可能重复?与JS](http://stackoverflow.com/questions/4347116/trigger-css-hover-with-js) – Joseph

+0

可能重复[悬停项目与JQuery](http://stackoverflow.com/queue slick/1983169/hover-item-with-jquery) – kapa

回答

2

而不是这样做,我建议你只需添加一个类到另一个标签。在jQuery中这将是:

$(window).load(function() { 
    $('.trigger-animate').hover(function(){ 
     $('.animate').addClass('hover'); 
    }); 
} 

我建议使用这种方法,因为它可以同时处理的onMouseOver和onmouseout(这样,当你的鼠标离开$您还可以删除类()“触发动画。”如果你因此采用这种语法期望:

.hover(handlerIn(eventObject), handlerOut(eventObject)) 
checking out the documentation 
+0

我是jQuery的新手,会不会在“onMouseOver”?如果不是,我会在哪里放这个代码 – dukevin

+0

把它放在$(window).load -------- .hover是onMouseOver的替代品,所以你甚至不需要它! – evancohen

+0

对不起,我还是输了。我在哪里可以将.hover(...)放入第二个代码段 – dukevin

4

Trigger css hover with JS中所述,这是不可能的(如果您希望按照创建此答案时的描述)。

但主要的目标是可以实现的:

  1. 设置类hover(或其他名称)以及在CSS选择器:hover
  2. 调用.addClass("hover")来触发CSS,而.trigger("hover")或​​来触发JS。
  3. 确保mouseleave处理程序。或第二个.hover()处理程序,将清除hover类(如果存在)。