Проигрывание функции ОДИН РАЗ
есть это:
<script src="http://code.jquery.com/jquery-1.5.js"></script> div.block01 {background:#333;width:200px;height:200px;} div.block01 {background:#999;width:200px;height:200px;} <div class="block01"></div> <div class="block02"></div> $(".block01").mouseover(function(){ $(".block02").fadeIn(300).fadeOut(300); }); Идея такая, что при наведении на блок появляется еще один блок с другим беграундом и исчезает, что дает мне "свечение", "блеск" основного блока... НО! Функция "зациклена", т.е. проигрывается бесконечное кол-во раз. "Бесконечный блеск" не нужен, нужо один раз. ВОПРОС: Как "зациклить" функцию один раз? |
Из за этой строчки:
fadeIn(300).fadeOut(300); jQuery будет пытаться одновременно проявить и скрыть объект, в результате чего и происходит зацикливание. В данном случае нужно воспользоваться callback функциями Заменить: $(".block01").mouseover(function(){ $(".block02").fadeIn(300).fadeOut(300); }); на что-то типа: $(".block01").hover(function(){ $(".block02").fadeIn(300,function(){ $(this).fadeOut(300)}); }); |
Часовой пояс GMT +3, время: 17:52. |