Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Scroll страницы (https://javascript.ru/forum/jquery/33019-scroll-stranicy.html)

GrinJ 07.11.2012 20:07

Scroll страницы
 
Нужна помощь с функцией - при прокрутке страницы определенный div должен исчезнуть, а при остановке - появиться снова. Код на данный момент такой:
$(window).scroll(function(){
$("#div").fadeOut();
});

Теперь не знаю, как реализовать появление этого div при остановке прокрутки. Заранее спасибо за помощь.

cmd 08.11.2012 06:43

<!DOCTYPE html>
<html>
<head>
  <style>
  div { color:blue; }
  p { color:green; }
  span { color:red; display:none; }
  </style>
  <script src="http://code.jquery.com/jquery-latest.js"></script>
</head>
<body>
  <div id="mydiv" style="position: fixed; font-size: 100px;">Try scrolling the iframe.</div>
  <p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p><p>Paragraph</p>
<script>
    $(window).scroll(function () { 
      $("#mydiv").css("display", "none").fadeIn("slow"); 
    });

</script>

</body>
</html>

cmd 08.11.2012 06:49

P.S. Если надо именно через callback реализовать, то смотрите, наверно, функцию jQuery.when

GrinJ 08.11.2012 16:33

cmd
Спасибо большое, но можно ли как-нибудь сделать так. что бы div исчезал так же плавно, как и появлялся?

cmd 09.11.2012 07:00

Я же по-русски написал
Цитата:

P.S. Если надо именно через callback реализовать, то смотрите, наверно, функцию jQuery.when

CyMKuH 09.11.2012 10:45

В таком случае, он сразу будет появлятся. после остановки, хотя пользователь может крутить калёсико с интервалом например в 500мск - тогда ваш див будет мигать. Советую, после окончания прокрутки запоминать ScrollTop - ждать секунду - проверять опять ScrollTop на изменение - и если не изменился - тогда уже показывать div


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