jQuery Scroll(), проблема в Опере 
		
		
		
		
$(window).scroll(function () { 
      $("span").slideToggle(); 
      alert('dsf');
});
span выполнит 3 действия, вместо 1 а alert будет выскакивать 6 раз. В Google Chrome такой проблемы нет. Это только у меня такой баг или это проблема оперы? в интернете не нашел ничего по этому багу. P.S. и еще, дайте пожалуйста ссылку на онлайн интерпретатор JS, Jquery, html. Чтобы можно было тестировать код. В документации есть пример с $("span").css("display", "inline").fadeOut("slow"); он и у меня работает нормально, но с другими функциями происходит многократный вызов  | 
	
		
 JEEN, 
	Пробуйте так: 
var TimeId;
$(window).scroll(function () {
      clearTimeout(TimeId);
      TimeId=setTimeout(function () {
      $("span").slideToggle(); 
      alert('dsf');
      },10)
});
Интересна версия Оперы - у мну в 11.5 - нет подобного  | 
	
		
 Цитата: 
	
 div с position:fixed; Allert прерывает события - и они могут возникать снова и снова  | 
	
		
 Цитата: 
	
  | 
	
		
 Опера 12-я 
	
$(window).scroll(function(){ 
      $("span").append('<b>текст</b><br/>'); 
    });
вот этот код вставляет "текст" 17 раз, вместо 1ого  | 
	
		
 http://demo.lovetcms.ru/ 
	вот пример сделал. У вас нормально?  | 
	
		
 Ну дык на сколько прокрутили - событий то несколько  
	Вы что думаете что скроллите непрерывно - ? 
var TimeId;
$(window).scroll(function () {
      clearTimeout(TimeId);
      TimeId=setTimeout(function () {
       $("span").append('<b>текст</b><br/>');  
      },100)
});
Вы текст не .append а div.html('<b>текст</b><br/>') Всовывайте - иначе при каждой прокрутке/дерге добавки  | 
	
		
 Deff, мне нужно, чтобы текст добавлялся, а не обновлялся, поэтому html не катит. 
	за 2 косания колесика мыши у меня должно быть так (скриншот с гугл хрома) ![]() а в опере у меня так ![]()  | 
	
		
 В конце концов, всегда можно сделать так: 
	
var text = ""
$(window).scroll(function(){
      text = "<b>текст</b><br/>"
})
$("span").append(text)
 | 
	
		
 Цитата: 
	
  | 
	
		
 конечно не работает :) простите 
	но читать надо вдумчиво, а не просто копировать. Основная идея, надеюсь, понятна?  | 
	
		
 1. не нужно всех считать идиотами, я ваш код "обдумывал". 
	2. идея понятна, но и то она "не рабочая" даже на простом примере, а у меня в результате гораздо сложней будет конструкция, там этот "обход" не прокатит 3. Ваша идея заключалась в том, чтобы функция scroll выполнила 17 раз операцию text = 'текст', а потом один раз вставила ее на страницу. Меня такой костыль вряд ли устроит. вот рабочий пример того что мне нужно http://www.jstoolbox.com/demo/endless/ используется scroll(), но без бага и без костылей.  | 
	
		
 в FireFox тоже все нормально. Только опера выполняет команду больше 1 раза.. 
	 | 
	
		
 здесь правильнее поступить так: .scroll() должен только менять состояние — пусть это будет переменная, флаг. 
	А функция подгрузки дополнительных сообщений должна быть подписана на событие изменения состояния этого флага. И тогда вы не зависите от багов различных своеобразных браузеров.  | 
	
		
 Цитата: 
	
 * отношение количества вызовов к прошедшему времени. или частота вызова, напр. раз в 1 мс. 
var last = 0;
$(window).scroll(function()
    var now = +new Date;
    if (now - last > 1) {
        last = now;
        // code ...
        $("span").append('<b>текст</b><br/>'); 
    }
}
 | 
	
		
 ограничивать время, ставить флаги это конечно же можно. Но это костыль, которым я воспользуюсь, если не найду другого решения. 
	очень много где используется scroll(), но везде работает без багов. Такое ощущение, что только у меня такой косяк. В любом случае, всем спасибо за помощь.  | 
	
		
 Цитата: 
	
 тем более, если Вы работаете с DOM - будьте готовы к костылям на каждой строке.  | 
	
		
 Цитата: 
	
  | 
	
		
 melky, вы меня убедили, спасибо за объяснение. 
	сделал так 
var scrollTimer = null;
$(window).scroll(function () {
    if (scrollTimer) {
        clearTimeout(scrollTimer);
    }
    scrollTimer = setTimeout(handleScroll, 500);
});
});
function handleScroll() {
    scrollTimer = null;
    $("span").append('<b>текст</b><br/>');  
}
и наконец-то нашел этот сервис http://jsfiddle.net/akaAU/10/ всем спасибо!  | 
| Часовой пояс GMT +3, время: 13:24. |