Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.02.2014, 23:06
Новичок на форуме
Отправить личное сообщение для Marmelade Посмотреть профиль Найти все сообщения от Marmelade
 
Регистрация: 17.02.2014
Сообщений: 4

Прокрутка div вместо главного скролика браузера с выключением после окончания текста
Всем привет Есть блок, в нем текст, он одного фиксированного размера по высоте, нужно чтобы загрузилась страница, пользователь начал крутить скролл на мышке, а вместо всего окна покрутилась информация в этом блоке div, а после того, как она до крутиться до конца, управление мышки перешло к главному скроллу и уже вся страница поехала дальше... Я нашел код который блокирует основной скролл страницы и переключает его на указанный блок, и этот код работает, если в переменную blockScroll попадает true, т.е. если выключить true и сделать false по окончанию инфы в div, то все поедет дальше, так как управление передастся основному скроллу всей страницы, но как это сделать я не пойму никак... Так же я написал код который выясняет, когда страница в блоке div закончится, а вот как теперь это связать и сделать так, чтобы это все работало, не только вниз, но и в обратную сторону так же? Помогите плиз, я уже два не могу ответ найти...

Прилагаю сам код

$(document).ready(function() {
var blockScroll = true; // Флаг, указывающий нужно ли блокировать скролл страницы
	 
	 	$('#contentBlock').scroll(function(){
			var gHeightsc = $('#contentBlock').scrollTop();
			var gHeightBlockNew = $('#contentBlocknew').height();
			var gHeight = $('#contentBlock').height();
			gHeightesResult = gHeightBlockNew - gHeight;
			if(gHeightsc==gHeightesResult){
				var blockScroll = false;
			}
			
			
		});	
	

 var UA=window.navigator.userAgent;
 var Firefox = UA.match(/Firefox\/\w+\.\w+/i);
function addHandler(object, event, handler, useCapture) {
     if (object.addEventListener) {
         object.addEventListener(event, handler, useCapture ? useCapture : false);
     } else if (object.attachEvent) {
         object.attachEvent('on' + event, handler);
     } else alert("Add handler is not supported");
}
// Добавляем обработчики
/* Gecko */
 addHandler(window, 'DOMMouseScroll', wheel);
/* Opera */
 addHandler(window, 'mousewheel', wheel);
/* IE */
 addHandler(document, 'mousewheel', wheel);
// Обработчик события
function wheel(event) {
     var delta; // Направление скролла
     // -1 - скролл вниз
     // 1  - скролл вверх
     event = event || window.event;
     // Opera и IE работают со свойством wheelDelta
     if (event.wheelDelta) {
         delta = event.wheelDelta / 120;
         // В Опере значение wheelDelta такое же, но с противоположным знаком
         //if (window.opera) delta = -delta;
          delta = -delta;
     // В реализации Gecko получим свойство detail
     } else if (event.detail) {
         delta = -event.detail / 3;
     }
		
     // Запрещаем обработку события браузером по умолчанию
	if (blockScroll) {     
		 if (event.preventDefault)  event.preventDefault();
	     delta = delta*8;
	     event.returnValue = false;
	     var ScrllBlk=$("#contentBlock");
	     var Height=ScrllBlk.height();
	     var Top = ScrllBlk.scrollTop();
	     if(Firefox) delta = -delta;
	     ScrllBlk.scrollTop(Top+delta);return delta;
	}
}

}); //Конец ready


<div id="contentBlock">
			<div id="contentBlocknew">
							<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diem 
				    nonummy nibh euismod tincidunt ut lacreet dolore magna aliguam erat volutpat. 
				    Ut wisis enim ad minim veniam, quis nostrud exerci tution ullamcorper suscipit 
				    lobortis nisl ut aliquip ex ea commodo consequat.</p>
</div>
</div>

Последний раз редактировалось Marmelade, 17.02.2014 в 23:14.
Ответить с цитированием
  #2 (permalink)  
Старый 18.02.2014, 12:01
Новичок на форуме
Отправить личное сообщение для Marmelade Посмотреть профиль Найти все сообщения от Marmelade
 
Регистрация: 17.02.2014
Сообщений: 4

Ну не ужели никто не знает
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
После загрузки файла, открывает новую страницу, вместо вставки результата в DIV 4y4yHDRA AJAX и COMET 16 13.10.2013 21:31
Прокрутка div вместо страницы Simones jQuery 1 23.06.2013 07:41