Реакция браузеров на событие scroll 
		
		
		
		Здравствуйте, я пишу вот такую функцию. 
	$(window).scroll(function(){ alert("Ехал Грека через реку"); }); Браузеры Мозила и Опера неадекватно реагируют на прокрутку, всплывает окно и в нём надо раз 15 нажать OK, а в браузерах IE и Гугл всё отображается хорошо. От чего это зависит?  | 
	
		
 Зависит от реализации alert. 
	 | 
	
		
 Ааа! То есть это реакция на метод alert, а не на событие scroll. 
	Всё ясно, спасибо.  | 
	
		
 в смысле зависит от реализации alert?? давайте изменим немного код..: 
	
var i = 0;
$(window).scroll(function(){
i++;
});
а потом выведем значение i в хроме и опере.. в хроме будет 1, а в опере около 20.. имхо тут далеко дело не в алерте...  | 
	
		
 skrudjmakdak, бредите. 
	i будет столько - сколько раз вызвана scroll, а вызываться она будет до тех пор пока вы сколлите. КО.  | 
	
		
 ммм)) видимо мы друг друга не понимаем. я один раз крутонул колесико в двух браузерах.. а числа разные.. 
	т.е. в опере за один "щелчек" скролл вызывается около 20 раз, но там можно заметить, что скролит анимированно (т.е. каждый шаг вызывает событие). а в хроме перескакивает за 1 раз возможно этим и можно объяснить вот это все..  | 
	
		
 Объяснить конечно можно, но с этом всё равно-же ничего не поделать. 
	Событие .scroll очевидно по разному обрабатывается разными браузерами. Позже буду рассматривать .scroll на других примерах, посмотрю как в них будет работать.  | 
	
		
 Цитата: 
	
 Скролл вызывается столько раз сколько происходит перерисовок. Соответственно в данном случае в опере отрисовавыется практически попиксельно, а в хроме куском. И это совершенно не значит, что у другого пользователя, с другими настройками не будет иначе. Это должно быть очевидно, и ждать от скролла другого поведения - странно. Привязываться же к количеству вызовов вообще бессмыслено - призываться надо к проскролленому расстоянию. По поводу же alert: нормальный alert должен моментально стопарить работу в конкретном окне. То что успевает настековаться куча алертов - имхо бага.  | 
	
		
 Проблему-то решили? Объясните, пожалуйста. Не могу сообразить как "алерт" вывести один раз в любых браузерах. В опере 20 раз выскакивает, а нужно один. 
	
var ScrollTop = 0, Top = 0;
        $('#div').scroll(function(){
            Top = $('#div').scrollTop();
            if (ScrollTop < Top){ 
		alert('Какая-то функция');//крутим колесо вниз
				   
            } else if (ScrollTop > Top) {
			    
		alert('Какая-то функция');//крутим колесо вверх
            }
            ScrollTop = Top;
        });
 | 
	
		
  | 
| Часовой пояс GMT +3, время: 06:51. |