наведение и отведение курсора от объекта
здравствуйте, подскажите пожалуйста как правильно сделать?
есть код:
$('#sidebarLeft li').mouseover(function(){
$(this).animate({'margin-left':'20px'},400)
},function(){$(this).animate({'margin-left':'0'},300)});
все работает, но есть проблема, если провести по объектах несколько раз и увести курсор, то margin продолжает изменятся столько раз, сколько провести курсором. Как исправить? |
Alexander333,
var Flag1=true;
var Flag2=true;
$('#sidebarLeft li').mouseover(function(){if(Flag1){Flag1=false;
$(this).stop(true);
$(this).animate({'margin-left':'20px'},400,"linear", function(){Flag1=true;})}
},function(){if(Flag2){Flag1=false;Flag2=false;
$(this).stop(true);
$(this).animate({'margin-left':'0'},300,"linear", function(){Flag1=true;Flag2=true;})} ;
)} ;
поправил |
если использовать ваш скрипт то перестает работать библиотека jquery, в чем может быть проблема?
|
Alexander333,
выложите необходимый кусок HTML для анимации |
Deff,
<ul id="sidebarLeft">
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
</ul>
|
<script type="text/javascript" src="http://yandex.st/jquery/1.4.4/jquery.min.js"></script>
<ul id="sidebarLeft" style="width:100px;">
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
<li><a href="text.php">текст</a></li>
</ul>
<script type="text/javascript">
$('#sidebarLeft li').mouseover(function(){
if(!$(this).hasClass('Active')){$(this).addClass('Active')
$(this).stop(true);//alert("A")
$(this).animate({'margin-left':'20px'},400);
}
}).mouseout(function(){
if($(this).hasClass('Active')){$(this).removeClass('Active')
$(this).stop(true);
$(this).animate({'margin-left':'0'},300)
} ;
});
</script>
Eще Поправил |
Deff,
спасибо, все работает)) |
Deff,
я сразу не посмотрел, но получилось немного не так как нужно, все li размещены близко друг к другу и если проводить курсор по ним то срабатывает только первый. |
Alexander333,
я вроде поправил |
Deff,
спасибо, теперь все отлично) |
| Часовой пояс GMT +3, время: 22:43. |