Показать сообщение отдельно
  #3 (permalink)  
Старый 10.12.2012, 20:31
Аватар для Amphiluke
   ☽
Отправить личное сообщение для Amphiluke Посмотреть профиль Найти все сообщения от Amphiluke
 
Регистрация: 07.01.2011
Сообщений: 254

Проблема, видимо, в том, что при скроллинге вы запускаете большое количество анимаций (.fadeIn(), .fadeOut()). Например, достигая величины прокрутки в 500px, вы запускаете .fadeIn(), и если продолжать прокручивать страницу, .fadeIn() будет вызываться всё снова и снова (т.к. условие y > 500 выполняется), и очередь анимаций будет расти.
Как вариант, можно добавить проверок, чтобы избежать повторных вызовов.
$(document).ready(function(){
 var showing = false;
 $(window).scroll(function(){
   var y = $(window).scrollTop(),
       div = $("div.div"),
	   isVisible = div.is(":visible");
  if (y > 500 && !showing) {
	showing = true;
    div.delay(500).fadeIn(500);
  } else if (y < 500 && isVisible && showing) {
	showing = false;
    div.fadeOut(500);
  }
 });
});
Ответить с цитированием