Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.06.2014, 21:33
Профессор
Отправить личное сообщение для imedia Посмотреть профиль Найти все сообщения от imedia
 
Регистрация: 20.05.2014
Сообщений: 292

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



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Некорректная прокрутка карусели. плагин к jq zlodiak jQuery 1 09.07.2013 14:32
Требуется верстка с использованием bootstrap projectdev2012 Работа 0 31.03.2012 19:35
Прокрутка баннеров по времени TTongorovortoto Работа 3 22.04.2011 13:35
прокрутка изображений RGun jQuery 3 08.03.2010 10:03
Jquery Два условия hangover Общие вопросы Javascript 0 14.12.2009 20:32