2014-11-22 43 views
0

最近我一直在嘗試創建一個下拉菜單(我是JavaScript和jQuery的新手)。我試圖做到這一點使用功能.mouseenter和.mouseleave這樣:.mouseenter和.mouseleave不能正常工作

$('.slideOne') 
.mouseenter(function() { 
    $('#one').animate({ 
    left: '10%' 
    },100) 
.mouseleave(function() { 
    $('#one').animate({ 
    left: '-250px' 
    },100); 
    }); 
}); 

一切正常,但沒有真正的辦法,我就預料到了。你可以看到小提琴結果:

Full screen result

和全碼:

Fiddle

希望你可以看到UL的當鼠標懸停在aproppriate裏,他們不一定出現鼠標消失後不一定消失。

也許有人遇到過這個問題?還是有更好的方式來創造我想要的?

回答

2

下面是使用.hover()

FIDDLE

$('.slideOne').hover(function() { 
    $('#one').animate({ 
     left: '10%' 
    }, 100) 
}, function() { 
    console.log('dgfh'); 
    $('#one').animate({ 
     left: '-250px' 
    }, 100); 
}); 

$('.slideTwo').hover(function() { 
    $('#two').animate({ 
     left: '14%' 
    }, 100); 
}, function() { 
    $('#two').animate({ 
     left: '-250px' 
    }, 100); 
}); 
+0

感謝的另一種方式!你知道'.mouseenter'方法的工作方式怎麼樣? – Jytug 2014-11-22 16:48:11

+0

因爲您尚未正確添加括號。檢查代碼中'.mouseenter()'的右括號。我沒有檢查你的代碼的其餘部分,但我認爲它在每個地方都是同樣的問題。 – Anubhav 2014-11-22 16:53:16

+0

謝謝。 你能不能也幫我找到一種方法,使鼠標從菜單到這個div時,slideOne不會消失?我是通過在slide-in div中添加「slideOne」類來實現的,但它的行爲很奇怪: http://jsfiddle.net/filipbinkiewicz/1oLymcvo/11/ – Jytug 2014-11-22 17:06:52