2012-05-21 27 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類(如果存在)。