2013-05-11 3 views
0

Я пытаюсь создать меню, в котором элемент, над которым находится мышь, скользит вправо. После того, как мышь уходит, я хочу, чтобы div возвращался в исходное положение. Прямо сейчас, когда я нажимаю, div перемещается вправо, но когда я выхожу, он просто остается там и не двигается назад влево.jquery animate div с mouseenter и mouseleave

<script> 
$(document).ready(function(){ 
    $(".menu_option").mouseenter(function(){ 
    $(".menu_option").animate({left:'50px'}); 
    }); 
    $(".menu_option").mouseleave(function(){ 
    $(".menu_option").animate({right:'50px'}); 
    }); 
}); 
</script> 

CSS выглядит следующим образом

.menu_option { 
height: 50px; 
width: 150px; 
position: relative; 
} 
.menu_holder { 
float: left; 
height: 300px; 
width: 150px; 
position: relative; 
} 

HTML

<div class="menu_holder"> 
<div class="menu_option">Content for class "menu_one" Goes Here</div> 
</div> 

Где я буду неправильно?

+0

Не могли бы вы опубликовать вверх http://jsfiddle.net с кодом? –

ответ

1

Для мыши оставьте вы должны использовать

$('.menu_option').mouseleave(function(){ 
    $('.menu_option').animate({left : 0}); 
}); 
+0

Спасибо! Он отлично работает! – Milksnake12

+0

Ну, конечно, теперь все пункты меню с этим именем перемещаются сразу. Есть ли простой способ получить каждый div с этим классом для запуска анимации отдельно или мне нужно дать каждому свое имя класса? – Milksnake12

+1

Да, просто используется '$ (". Menu_option "). Mouseleave (function (event) {$ (event.currentTarget) .animate ({left: 0})});' – drinchev