我放在一個div懸停動畫像這樣:jQuery的懸停排除圖像
$('#divID').hover(function(){
$('#divID').animate({'margin-top': '-200px'}, 200);
});
這一切工作正常, 但是當我把圖像該div裏面,我將鼠標懸停的形象上,而不是div的自由空間的功能不會觸發,因爲圖像是另一個對象。
我希望函數能夠觸發,而不管div的內容如何。
在此先感謝。
我放在一個div懸停動畫像這樣:jQuery的懸停排除圖像
$('#divID').hover(function(){
$('#divID').animate({'margin-top': '-200px'}, 200);
});
這一切工作正常, 但是當我把圖像該div裏面,我將鼠標懸停的形象上,而不是div的自由空間的功能不會觸發,因爲圖像是另一個對象。
我希望函數能夠觸發,而不管div的內容如何。
在此先感謝。
編輯
釘它:行爲是正確的,因爲你實際上是離開股利。不要將事件適用於兒童和youre good to go:
$('#google').not($('#google').children()).mouseleave(function(e){
e.stopPropagation();
$('#google').stop().animate({'margin-top': '0px'}, 200);
});
嗯,基本上這不應該發生。您可以嘗試使用直接mouseenter
事件而不是hover
,但懸停確實使用mouseenter。 對我來說,似乎還有另一個問題。
嘗試是這樣的:而不是
$('#divID').mouseenter(function(){
$('#divID').stop().animate({'margin-top': '-200px'}, 200);
});
正如你已經寫道;懸停實現了mouseenter和mouseout,所以應該沒有任何區別。 – KoenvE 2013-04-24 12:22:12
只需將鼠標懸停事件,你應該使用mouseout事件爲好。所以現在你的腳本將是:
$('#mostread').hover(function(){
$('#mostread').animate({'margin-top': '-200px'}, 200);
});
$('#mostread').mouseout(function(){
$('#mostread').animate({'margin-top': '+200px'}, 200);
});
這沒有任何意義。 $()。hover(func1,func2);除了mouseleave以外別無他物。所以要麼使用帶有2個函數的.hover(),要麼使用mouseenter和mouseleave。此外,這不是作者的問題。 – Alex 2013-04-26 12:30:42
你可以產生一個jsFiddle的例子嗎? – Curt 2013-04-24 12:15:05
http://jsfiddle.net/D9mWm/1/ 它對我來說工作正常。 – AnAspiringCanadian 2013-04-24 12:28:18
這是jsFiddle: http://jsfiddle.net/KoenvE/LFrKN/ 它可以工作,但是當你將圖像懸停時,行爲真的很奇怪。 – KoenvE 2013-04-24 12:30:56