addEventListener не срабатывает? 
		
		
		
		Привет уважаемые форумчане. 
	Есть лендинг из 3-х страниц. при скролле создается эффект one-page-scroll ну и я создал скрипт, который в зависимости от текущей страницы присваивает классы элементам для анимации. Вот код: 
<script type="text/javascript">
	function init() {
		window.addEventListener('scroll', function(e){
		if ($('body').hasClass('viewing-page-1')) {
			$('.phone').addClass('y0');
			$('.button').addClass('y1');
			$('.logo').addClass('y2');
		} else {
			$('.phone').removeClass('y0');
			$('.button').removeClass('y1');
			$('.logo').removeClass('y2');
		}
		if ($('body').hasClass('viewing-page-2')) {
			$('.left').addClass('gogo');
			$('.right').addClass('gogo');
		} else {
			$('.left').removeClass('gogo');
			$('.right').removeClass('gogo');
		}
		if ($('body').hasClass('viewing-page-3')) {
			$('.iphone').addClass('wtf');
		} else {
			$('.iphone').removeClass('wtf');
		}
		}
		);
	}
    window.onload = init();
</script>
Консоль ошибок не выдает. При скролле класс body "viewing-page-X" присваивается. Где X это номер страницы от 1 до 3. Но почему-то ничего не срабатывает. Если что вот линк на сам проект: http://test2.stdmed.ru  | 
	
		
 Только что дошло. Скролла то там нет как такового. 
	Тогда след. вопрос: на что поставить listener чтобы он отслеживал?  | 
	
		
 смотри документацию по плагину. 
	 | 
	
		
 Что тут не так? 
	вроде все логично: 
<script type="text/javascript">
	function init() {
		window.addEventListener("DOMMouseScroll", mouse_wheel, false);
		var mouse_wheel = function(event) {
		if ($('body').hasClass('viewing-page-1')) {
			$('.phone').addClass('y0');
			$('.button').addClass('y1');
			$('.logo').addClass('y2');
		} else {
			$('.phone').removeClass('y0');
			$('.button').removeClass('y1');
			$('.logo').removeClass('y2');
		}
		if ($('body').hasClass('viewing-page-2')) {
			$('.left').addClass('gogo');
			$('.right').addClass('gogo');
		} else {
			$('.left').removeClass('gogo');
			$('.right').removeClass('gogo');
		}
		if ($('body').hasClass('viewing-page-3')) {
			$('.iphone').addClass('wtf');
		} else {
			$('.iphone').removeClass('wtf');
		}
		}
	}
    window.onload = init();
</script>
 | 
	
		
 На момент  
	
window.addEventListener("DOMMouseScroll", mouse_wheel, false);
 mouse_wheel === undefined, т.к.
function init() {
    window.addEventListener("DOMMouseScroll", mouse_wheel, false);
    var mouse_wheel = function(event) {}
}
 это то же самое что: 
function init() {
    var mouse_wheel;
    window.addEventListener("DOMMouseScroll", mouse_wheel, false);
    mouse_wheel = function(event) {}
}
Это принципы js, которые следовало бы знать. Чтобы работало так как вы хотите - следует объявлять таки функцию: 
function init() {
    window.addEventListener("DOMMouseScroll", mouse_wheel, false);
    function mouse_wheel(event) {}
}
P.S. Крутить страницу можно ещё и стрелочками, и кликом по "точкам" справа. Вам же сказали что надо делать: читать документацию к плагину, который вам реализует эту хрень. Там гарантировано есть специальное событие скролла. ... https://github.com/peachananr/onepage-scroll Цитата: 
	
 *с презрением плюнул под ноги ViRuSreloaded*  | 
	
		
 DOMMouseScroll - неподдерживаемое событие. Тебе же написали смотри доку плагина, там наверняка есть коллбэк на смену страницы, вот в нем пиши свой код 
	 | 
	
		
 Сделал как Вы сказали и все ЗАРАБОТАЛО!!!!!!!!!!!!!!!! 
	Я вас обожаю дорогие форумчане! код получился такой: 
<script>
	  $(document).ready(function(){
      $(".scroll").onepage_scroll({
    sectionContainer: "section",
    responsiveFallback: 400,
    loop: false,
        beforeMove: function(index) {
    	if ($('body').hasClass('viewing-page-1')) {
			$('.phone').addClass('y0');
			$('.button').addClass('y1');
			$('.logo').addClass('y2');
		} else {
			$('.phone').removeClass('y0');
			$('.button').removeClass('y1');
			$('.logo').removeClass('y2');
		}
		if ($('body').hasClass('viewing-page-2')) {
			$('.left').addClass('gogo');
			$('.right').addClass('gogo');
		} else {
			$('.left').removeClass('gogo');
			$('.right').removeClass('gogo');
		}
		if ($('body').hasClass('viewing-page-3')) {
			$('.iphone').addClass('wtf');
		} else {
			$('.iphone').removeClass('wtf');
		}
    }
   });
	});
</script>
 | 
	
		
 кстати afterMove как раз позволяет достичь желаемого результата, так как beforeMove инициализирует анимацию на странице которая откроется через 0.4 сек. 
	 | 
	
		
 Цитата: 
	
  | 
	
		
 Вопрос по кроссплатформенности теперь появился: 
	при скролле на планшете не работает one-page-scroll :( соответственно не срабатывает отображение элементов на второй странице, так как не меняется класс у \'body\'. Есть какой-нить простой способ??? может кто посоветует?  | 
| Часовой пояс GMT +3, время: 16:34. |