Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   наведение и отведение курсора от объекта (https://javascript.ru/forum/dom-window/29570-navedenie-i-otvedenie-kursora-ot-obekta.html)

Alexander333 03.07.2012 16:20

наведение и отведение курсора от объекта
 
здравствуйте, подскажите пожалуйста как правильно сделать?

есть код:
$('#sidebarLeft li').mouseover(function(){
			$(this).animate({'margin-left':'20px'},400)
			},function(){$(this).animate({'margin-left':'0'},300)});

все работает, но есть проблема, если провести по объектах несколько раз и увести курсор, то margin продолжает изменятся столько раз, сколько провести курсором. Как исправить?

Deff 03.07.2012 16:36

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;})} ;
)} ;

поправил

Alexander333 03.07.2012 16:58

если использовать ваш скрипт то перестает работать библиотека jquery, в чем может быть проблема?

Deff 03.07.2012 16:59

Alexander333,
выложите необходимый кусок HTML для анимации

Alexander333 03.07.2012 17:05

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>

Deff 03.07.2012 17:13

<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ще Поправил

Alexander333 03.07.2012 17:19

Deff,
спасибо, все работает))

Alexander333 03.07.2012 17:28

Deff,
я сразу не посмотрел, но получилось немного не так как нужно, все li размещены близко друг к другу и если проводить курсор по ним то срабатывает только первый.

Deff 03.07.2012 17:29

Alexander333,
я вроде поправил

Alexander333 03.07.2012 17:34

Deff,
спасибо, теперь все отлично)


Часовой пояс GMT +3, время: 14:13.