Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2014, 17:02
Профессор
Посмотреть профиль Найти все сообщения от imediasun1
 
Регистрация: 23.12.2012
Сообщений: 437

событие остановки скрола
Здравствуйте надо проявить блок header только через 3сек после того как остановился скролл, если скрол вновь запустится убрать блок header?
Этот код не работает
window.onscroll=function(){ // тут мог накосячить, не помню название события...
	if (timer) {
	cleatTimeout(timer);
	 };
	 timer=setTimeout(stopscroll, 100);
	 
	};
stopscroll=function() {
	 timer= false;
	 //дальше выполняете всё, что нужно
	 $('#header').animate({
					   'opacity':'1'},{
                           duration:300,
                           }).clearQueue();
};
Ответить с цитированием
  #2 (permalink)  
Старый 14.02.2014, 17:11
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Все правильно, только нужно чуть выше объявить переменную timer.
Ну и перед stopscroll потерялось ключевое слово var (хотя это не обязательно).

И еще, раз уж подключена jQuery, то лучше вешать обработчик через нее:
$(window).scroll(function() {...});


Ну и 3 секунды - это 3000 ms, а не 100.

Сообщение от imediasun1
убрать блок header
$('#header').hide();
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 14.02.2014, 17:15
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

var scrollTmp;
window.onscroll = function() {
	clearTimeout(scrollTmp);
	scrollTmp = setTimeout(onScrollStop, 3E3);
}
      
function onScrollStop() {
	alert(true);
}


P.S.: danik.js, к 3E3 не придираться.

Последний раз редактировалось ruslan_mart, 14.02.2014 в 17:17.
Ответить с цитированием
  #4 (permalink)  
Старый 14.02.2014, 17:31
Профессор
Посмотреть профиль Найти все сообщения от imediasun1
 
Регистрация: 23.12.2012
Сообщений: 437

Так не работает
var timer; 
	$(window).onscroll=function(){ 
	if (timer) {
	cleatTimeout(timer);
	 };
	 timer=setTimeout(stopscroll, 300);
	 
	};
stopscroll=function() {
	 timer= false;
	 //дальше выполняете всё, что нужно
	 $('#header').animate({
					   'opacity':'1'},{
                           duration:300,
                           }).clearQueue();
};
Ответить с цитированием
  #5 (permalink)  
Старый 14.02.2014, 17:33
Профессор
Посмотреть профиль Найти все сообщения от imediasun1
 
Регистрация: 23.12.2012
Сообщений: 437

Сообщение от Ruslan_xDD Посмотреть сообщение
var scrollTmp;
window.onscroll = function() {
	clearTimeout(scrollTmp);
	scrollTmp = setTimeout(onScrollStop, 3E3);
}
      
function onScrollStop() {
	alert(true);
}


P.S.: danik.js, к 3E3 не придираться.
А так появляется header даже без скрола
Ответить с цитированием
  #6 (permalink)  
Старый 14.02.2014, 17:50
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от imediasun1
$(window).onscroll=function(){
Ну ты гуманоид... Я разве так писал?
Сообщение от Ruslan_xDD
danik.js, к 3E3 не придираться.
Лан, выпендривайся в свое удовольствие )
а что значит scrollTmp?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #7 (permalink)  
Старый 14.02.2014, 18:16
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

Сообщение от danik.js
а что значит scrollTmp?
Как-будто ты не знаешь.
Индификатор timeout'а записывается в него.

Сообщение от imediasun1
А так появляется header даже без скрола
Может всё-таки стоит начать читать учебник или смотреть какие-нибудь видеокурсы для чайников?
Ответить с цитированием
  #8 (permalink)  
Старый 14.02.2014, 18:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Ruslan_xDD
Может всё-таки стоит начать читать учебник или смотреть какие-нибудь видеокурсы для чайников?
это видимо невозможно в данном случае
Ответить с цитированием
  #9 (permalink)  
Старый 14.02.2014, 18:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruslan_xDD
Как-будто ты не знаешь.
Что-то типа "временный скролл", хотя не, это если tmpScroll. ХЗ, сдаюсь, тут здравый смысл бессилен ))
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #10 (permalink)  
Старый 14.02.2014, 18:31
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, ахаха, я так и знал что ты не сможешь не заметить, а то ведь 3E3 мало было.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Событие onload SP7 Общие вопросы Javascript 4 10.11.2013 23:50
Отличить событие, вызванное пользователем, от программного. upvasil Events/DOM/Window 6 22.10.2013 21:30
Событие click Гробовщик jQuery 1 31.07.2013 07:28
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 11:46
Отловить событие simple Events/DOM/Window 3 11.05.2011 14:20