Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   прокрутка с использованием условия (https://javascript.ru/forum/dom-window/47812-prokrutka-s-ispolzovaniem-usloviya.html)

imedia 08.06.2014 21:33

прокрутка с использованием условия
 
Есть блок в котором открывается меню, он раскрывается при событии нажатия на кнопку этот блок с прокруткой по оси -y
window.menu=1;
$('#menu_quad').click(function(){
var left = $('#menu_block').offset().left;
if(left==-315 ){
$('#menu_block').animate({left:"+=315px"});
$('.container_width').animate({"left": "+315px"})
$('#menu_head_name').html('X');
window.menu=0;
console.log(window.menu)
}
else{
$('#menu_block').animate({left:"-=315px"});
$('.container_width').animate({"left": "-=315px"})
$('#menu_head_name').text('Меню')
window.menu=1;
console.log(window.menu)
}

})
})

и есть событие прокрутки страницы
// Функция для добавления обработчика событий
  function addHandler(object, event, handler) {
    if (object.addEventListener) {
      object.addEventListener(event, handler, false);
    }
    else if (object.attachEvent) {
      object.attachEvent('on' + event, handler);
    }
    else alert("Обработчик не поддерживается");
  }
  // Добавляем обработчики для разных браузеров
  
 if (window.menu>0 ){
 
  addHandler(window, 'DOMMouseScroll', wheel);
  addHandler(window, 'mousewheel', wheel);
  addHandler(document, 'mousewheel', wheel);
}
  // Функция, обрабатывающая событие
  function wheel(event) {
    var delta; // Направление колёсика мыши
    event = event || window.event;
    // Opera и IE работают со свойством wheelDelta
    if (event.wheelDelta) { // В Opera и IE
      delta = event.wheelDelta / 120;
      // В Опере значение wheelDelta такое же, но с противоположным знаком
      if (window.opera) delta = -delta; // Дополнительно для Opera
    }
    else if (event.detail) { // Для Gecko
      delta = -event.detail / 3;
    }
    // Запрещаем обработку события браузером по умолчанию
    if (event.preventDefault) event.preventDefault();
    event.returnValue = false;
    //alert(delta); Выводим направление колёсика мыши
	
	if (delta>0 && window.menu>0){
	
	$('.slide2').animate({"top": "100%"}, 600,  'easeOutQuart', function() {
	var url="http://pasalskiy.com.ua/main/pages/index";
	
	    window.location=url;
		  
    });
	
		
		
		
	}
	if (delta<0 && window.menu>0){
	
	$('#slide3').css('z-index','998')
	$('.slide2').animate({"top": "-100%"}, 600,  'easeOutQuart', function() {
	var url="http://pasalskiy.com.ua/main/pages/packages";
	
	    window.location=url;
		  
    });
	
		
		
		
	}
	
	
  }

требуется чтобы при открытом меню событие прокрутки страницы не срабатывало а прокрутка по оси y в блоке меню работала.
Я объявляю переменную window.menu и когда меню открыто она равна 0 и прокрутка блока на странице должна быть отключена, она таки да отключается но и прокрутка в блоке меню тоже, как включить прокрутку только для блока меню?


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