Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Помогите расшифоровать, что делает скрипт (https://javascript.ru/forum/events/48981-pomogite-rasshiforovat-chto-delaet-skript.html)

Batyabest 24.07.2014 11:08

Помогите расшифоровать, что делает скрипт
 
Здравствуйте.
Помогите расшифровать что делает скрипт. У меня почему-то анимация не работает на Android. Так понимаю, что нужно сделать, чтобы ее не было на мобильных устройствах. Чтобы все было статично. Вот такой код что делает подскажите.

var mobile = navigator.userAgent.toLowerCase().match(/(iphone|ipod|ipad|android)/);
	if(mobile != null) {
		$('html').css('width', window.innerWidth + 'px');
	} else {
		$(".scroll").each(function () {
			var block = $(this);
			$(window).scroll(function() {
				var top = block.offset().top;
				var bottom = block.height()+top;
				top = top - $(window).height();
				var scroll_top = $(this).scrollTop();
				if ((scroll_top > top) && (scroll_top < bottom)) {
					if (!block.hasClass("animated")) {
						block.addClass("animated");
					}
				} else {
					block.removeClass("animated");
				}
			});
		});
		$('head').append('<link rel="stylesheet" href="/css/animation.css" />');
	}

Batyabest 28.07.2014 14:35

Что, так никто не может подсказать?

Rise 28.07.2014 16:05

Цитата:

Сообщение от Batyabest (Сообщение 322551)
нужно сделать, чтобы ее не было на мобильных устройствах.

Она же и так
Цитата:

Сообщение от Batyabest (Сообщение 322551)
не работает на Android.

Внимание вопрос! Зачем делать? :blink:

cyber_bober 28.07.2014 16:06

Batyabest,
определяет, является ли устройство мобильным, если является то выставляет документу ширину экрана, иначе задает верх и низ страницы и делает при прокрутке анимацию блокам, у которых есть класс animated.

Rise 28.07.2014 16:52

Batyabest,
- Если (iphone,ipod,ipad,android) то страница получает ширину окна браузера этого устройства.
- В противном случае подключается файл стилей animation.css и элементам с классом scroll во время прокрутки страницы при появлении их в зоне видимости окна браузера добавляется класс animated при уходе из зоны видимости этот класс удаляется.

Batyabest 31.07.2014 13:13

Спасибо. А как сделать чтобы анимация не работала в том смысле, чтобы вся страница была статичной. У меня просто некоторые блоки ввобще не отображаются

cyber_bober 31.07.2014 13:16

Batyabest,
удали условие else и 21 строчку

Batyabest 31.07.2014 13:20

else с 16 строки или какое?

Batyabest 31.07.2014 13:21

Нужно чтобы статика была только на мобильных устройствах

Batyabest 31.07.2014 13:26

Спасибо за подсказку. Я догнал, что делать. Раз анимация нужна только на "больших" компьютерах, а вся анимация прописана в файле animation.css, то его нужно подключать скриптом, в том случае если устройство НЕ мобильное. А у меня он был подключен везде в head. Убрал из head подключение стилей анимации и все стало гуд.


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