Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Отключение скрипта при определенном разрешении. (https://javascript.ru/forum/events/48341-otklyuchenie-skripta-pri-opredelennom-razreshenii.html)

Нарек 30.06.2014 10:36

Отключение скрипта при определенном разрешении.
 
Здравствуйте! Есть такой скрипт

<script type="text/javascript">	
	Modernizr.load({
		test: Modernizr.csstransforms3d && Modernizr.csstransitions,
		yep : ['http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js','js/jquery.hoverfold.js'],
		nope: 'css/fallback.css',
		callback : function( url, result, key ) {
			
		if( url === 'js/jquery.hoverfold.js' ) {
			$( '.portfolio-item-view' ).hoverfold();
		}
	}
});
</script>


который подключает вот этот

( function( $ ) {
	
	$.fn.hoverfold = function( args ) {

		this.each( function() {
		
			$( this ).children( '.view' ).each( function() {
			
				var $item 	= $( this ),
					img		= $item.children( 'img' ).attr( 'src' ),
					struct	= '<div class="slice s1">';
						struct	+='<div class="slice s2">';
							struct	+='<div class="slice s3">';
								struct	+='<div class="slice s4">';
									struct	+='<div class="slice s5">';
									struct	+='</div>';
								struct	+='</div>';
							struct	+='</div>';
						struct	+='</div>';
					struct	+='</div>';
					
				var $struct = $( struct );
				
				$item.find( 'img' ).remove().end().append( $struct ).find( 'div.slice' ).css( 'background-image', 'url(' + img + ')' ).prepend( $( '<span class="overlay" ></span>' ) );
				
			} );
			
		});

	};

} )( jQuery );


Вопрос. Как сделать, что бы скрипт подключился (или работал) ТОЛЬКО при разрешении ВЫШЕ 480px, так как ниже этого он мне мешает.. Буду очень благодарен.
P.S. Если тема не в том разделе, прошу прощения, переместите, пожалуйста, уважаемые модераторы.

Erolast 30.06.2014 17:12

Разрешение чего? Экрана? Есть такой объект screen, там вся информация - http://www.w3schools.com/js/js_window_screen.asp

Нарек 30.06.2014 17:18

Цитата:

Сообщение от Erolast (Сообщение 318824)
Разрешение чего? Экрана? Есть такой объект screen, там вся информация - http://www.w3schools.com/js/js_window_screen.asp

Да, извиняюсь, разрешение браузера.

Erolast 30.06.2014 18:00

Размеры окна, может быть? window.innerHeight и window.innerWidth используй.

Нарек 30.06.2014 18:21

Цитата:

Сообщение от Erolast (Сообщение 318829)
Размеры окна, может быть? window.innerHeight и window.innerWidth используй.

Ну мне просто надо вот так:
Если ширина браузера больше 480px скрипт работает нормально, как и должен.
Если ширина браузера ниже 480px (неважно из края тянут или через телефон смотрят) скрипт отключается полностью.
Потом если снова ресайзить будут, то выше 480px снова включается)

Erolast 30.06.2014 18:33

Ну так делай, в чем проблема? Я тебе сказал, откуда значения брать.

Нарек 30.06.2014 19:06

Цитата:

Сообщение от Erolast (Сообщение 318832)
Ну так делай, в чем проблема? Я тебе сказал, откуда значения брать.

Ну я пока с синтаксисом разбираюсь, учу где то дней 5 всего, до этого использовал только готовые решения) Если Вас не затруднит, можете набросать код, если конечно это не трудно и делается очень быстро?

Erolast 30.06.2014 19:52

Нельзя этот плагин просто так "отключить". Он не перманентно действует. Он один раз запускается, изменяет структуру элементов с классом '.portfolio-item-view' и идет отдыхать. Можно просто не запускать его, если высота окна меньше, чем позволено, но после того, как он уже отработал, надо будет элемент восстанавливать, а восстановить его невозможно без знания его первоначального состояния. Для того, чтобы отслеживать изменение размеров окна, тебе нужно повесить обработчик на событие window.onresize, да. Вперед)

рони 30.06.2014 20:00

:-? вариант не запускать плагин изначально если экран меньше 480 тоды без resize

if( url === 'js/jquery.hoverfold.js' && window.innerWidth > 480)

Нарек 30.06.2014 22:00

Цитата:

Сообщение от Erolast (Сообщение 318839)
Нельзя этот плагин просто так "отключить". Он не перманентно действует. Он один раз запускается, изменяет структуру элементов с классом '.portfolio-item-view' и идет отдыхать. Можно просто не запускать его, если высота окна меньше, чем позволено, но после того, как он уже отработал, надо будет элемент восстанавливать, а восстановить его невозможно без знания его первоначального состояния. Для того, чтобы отслеживать изменение размеров окна, тебе нужно повесить обработчик на событие window.onresize, да. Вперед)

Спасибо, попробую разобраться.

Цитата:

Сообщение от рони (Сообщение 318840)
:-? вариант не запускать плагин изначально если экран меньше 480 тоды без resize

if( url === 'js/jquery.hoverfold.js' && window.innerWidth > 480)

Нет, к сожалению этот вариант не катит, так как при увеличении он не возобновляется :)


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