Проигрывание функции ОДИН РАЗ
есть это:
<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, время: 22:29. |