Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   FadeOut, FadeIn (https://javascript.ru/forum/jquery/15326-fadeout-fadein.html)

meryfelow 22.02.2011 14:36

FadeOut, FadeIn
 
<!DOCTYPE html>
<html>
<head>
  
  <script src="http://code.jquery.com/jquery-1.5.js"></script>
</head>
<body>
  <span>Click here...</span>

    <div id="one"><img  src="1.jpg" width="80px" height="80px"></div>

[JS]<script>
var currentImage = 0;
var imageArray=['1.jpg','2.jpg','3.jpg'];
      $("img").click(function () {
	  currentImage++;
	  $("img").fadeOut("slow");
             $("img").attr("src",imageArray[currentImage]);
             $("img").fadeIn("slow");
      });
    </script>

</body>
</html>


Собственно меня интересует очередность выполняемых действий. Задумка в том, чтобы картинка исчезла, ей присвоился новый src, потом появилась. Получается же так: присваивается новый src, картинка пропадает, потом появляется. Получается что действия идет не по порядку, точнее операция присваивания нового источника для картинки не дожидается окончания действия fadeOut?

FINoM 23.02.2011 05:31

$("img").fadeOut("slow", function(){
      $(this).attr("src",imageArray[currentImage]).load(function(){
           $(this).fadeIn("slow");
      });
});

micscr 23.02.2011 12:09

$("img").fadeOut("slow", function(){
  $("img").attr("src",imageArray[currentImage]);
  $("img").fadeIn("slow");
});


Единственно, тебе еще надо продумать момент остановки текущей анимации при нажатии кнопки запуска если текущая еще не завершилась.

walik 23.02.2011 12:13

Есть так называемые callback-функции

micscr 23.02.2011 12:22

walik, мы ведь про них и вещаем :)

meryfelow 23.02.2011 12:51

Спасибо за помощь!

FINoM 23.02.2011 13:09

micscr,
В твоём случае картинка появится до загрузки.

walik 23.02.2011 13:28

Цитата:

Сообщение от micscr
walik, мы ведь про них и вещаем

Просто решил сказать, так как автор увидел ваш код, но не факт что понял, что речь идет о callback-функциях :)


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