Всем привет
Есть блок, в нем текст, он одного фиксированного размера по высоте, нужно чтобы загрузилась страница, пользователь начал крутить скролл на мышке, а вместо всего окна покрутилась информация в этом блоке 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>