Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Помощь новичку в JS (https://javascript.ru/forum/misc/54155-pomoshh-novichku-v-js.html)

Andry_JS 05.03.2015 22:15

Помощь новичку в JS
 
Доброго времени суток. Вопрос в следующем:

Есть скрипт(который я нашел в интернете) выполняющий автоматическое масштабирование бекграунда по размеру экрана, но выполняется он один раз и для одного объекта. Мне же хочется применить для всех нужных мне div'ов.

Пожалуйста, помогите довести скрипт до ума. Я думаю, что можно реализовать задачу через .siblings(), но я не знаю как... очень плохо знаю синтаксис js...

Вот скрипт:

var _settings = {

			// Full screen win
				useFullScreenWin: true
			};

	// jQuery
		jQuery(function() {

			var	$window = $(window),
				$body = $('body');

			// Full Screen Win
				if (_settings.useFullScreenWin)
				{
					var $win = $('#win');
					
					if ($win.length > 0)
					{
						var $win_win = $win.find('win');
						
						$window
							.on('resize.overflow_fsh', function() {
									var p = Math.max(192, ($window.height() - $win_win.outerHeight()) / 2);
									$win.css('padding', p + 'px 0 ' + p + 'px 0');
							})
							.trigger('resize.overflow_fsh');
							
						$window.load(function() {
							$window.trigger('resize.overflow_fsh');
						});
					}
				} 
			});

рони 05.03.2015 22:23

Andry_JS,
может проще на css сделать?

Andry_JS 05.03.2015 22:26

Цитата:

Сообщение от рони (Сообщение 359783)
Andry_JS,
может проще на css сделать?

Проще - возможно, но качественнее так.

Andry_JS 05.03.2015 22:29

Цитата:

Сообщение от рони (Сообщение 359783)
Andry_JS,
может проще на css сделать?

Представьте, например, хочется вам оптимизировать сайт для всех типов мобильных устройств. Одних медиа стилей напишете в несколько раз больше этого скрипта + сколько времени потратите на реализацию. А тут всё достаточно просто...

danik.js 05.03.2015 22:49

Цитата:

Сообщение от Andry_JS
Представьте

Представил:
body{
    background: url(image.jpg);
    background-size: cover;
}

Цитата:

Сообщение от Andry_JS
А тут всё достаточно просто

Без сомнений!:D

danik.js 05.03.2015 22:50

Цитата:

Сообщение от Andry_JS
$window.height() - $win_win.outerHeight()

win головного мозга :lol:

рони 05.03.2015 22:51

Andry_JS,
структура блока ?

danik.js 05.03.2015 22:52

Цитата:

Сообщение от Andry_JS
Одних медиа стилей напишете в несколько раз больше этого скрипта

Зато все отрисуется моментально, а не когда загрузится тормозная jquery. Да чего там больше то?

Andry_JS 05.03.2015 23:00

Цитата:

Сообщение от danik.js (Сообщение 359792)
Представил:
body{
    background: url(image.jpg);
    background-size: cover;
}


Без сомнений!:D

Скрип рассчитывает отступы от объекта до краёв окна браузера, это очень удобно так как все объекты позиционируются в центре, при любом размере окна браузера. Я не много не правильно задачу описал, но суть вроде ясна)

Andry_JS 05.03.2015 23:03

Цитата:

Сообщение от рони (Сообщение 359794)
Andry_JS,
структура блока ?

<div id="win">
			<div id="c1">
					<header id="header">
						<h1></h1>
					</header>
			</div>
		</div>
		<div id="win">
			<div class="c2">
                                        <header id="header">
						<h1></h1>
					</header>
			</div>
		</div>
		<div id="win">
			<div class="c3">
                                        <header id="header">
						<h1></h1>
					</header>
			</div>
		</div>


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