Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Выгрузка из базы при скроллинге (https://javascript.ru/forum/dom-window/39833-vygruzka-iz-bazy-pri-skrollinge.html)

jonee 14.07.2013 01:32

Выгрузка из базы при скроллинге
 
Здравствуйте все, кто посетил тему, помогите, пожалуйста, разобрать ошибку в коде.
При скроллинге идет пост запрос к пхп и выгрузка порциями сообщений из бд, если захожу через гугл хром, все ок, но если через оперу, то он выгружает целую кучу одинаковых сообщений...
Подскажите, в чем проблема, уже пробовал и переменные совать (условие, если не равна 0, то выполнять, а при начале кидал 0, а в конце 1, то есть пока не закончит выполнять первую, не приступать снова, чтобы не выполнялось куча параллельно)

Сам код
var height_of_window = window.innerHeight;
	var need_load = 1;
	$(window).scroll(function() {
		if ($(window).scrollTop() >= $(document).outerHeight() - height_of_window - 20) {
			if (need_load = 1) {
				need_load = 0;
				$.post('http://oyy.name/engine/php/users.php', {
					id: oyy.id,
					count: '5',
					limit: count_var
				}, function(data) {
					if(data != '') {
						$("#posts_container").append('<div id="comments_part_'+count_var+'">'+data+'</div>');
						count_var = count_var + 1*5;
						need_load = 1;
					} else {
						need_load = 0;
					}
				})	
			}			
		}
	});


Заранее, спасибо.

skrudjmakdak 15.07.2013 08:58

Есть предположение одно..
в хроме скрол "резко перескакивает" как в опере он скользит. это можно понаблюдать по скролировав. из за этого событие вызывается каждый раз когда происходит изменение скрола

попробуйте вот этот код:
$(window).scroll(function() {
		console.log(1);
	});

в хроме по идее консоль вызовется 1 раз, когда в опере несколько..


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