Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Метод width() (https://javascript.ru/forum/events/39750-metod-width.html)

Krovex 10.07.2013 16:19

Метод width()
 
var windowWidth = $(document).width()
	 $("#block1").width(windowWidth);

block1 имеет ширину и высоту документа браузера. С высотой все просто, поставил height:100%; ,а вот с шириной так нельзя. С помощью этого скрипта все вроде бы работает, но когда я начинаю изменять размер окна браузера, то весь дизайн летит. Как сделать так чтобы width() следил за изменениями ширины окна браузера и сразу же прописывал ее в block1?

skrudjmakdak 10.07.2013 16:29

$(window).resize(function(){
    //здесь ваш код
    //вам также доступны параметры с размером окна
    var width = $(window).width();
    var height = $(window).height();
});

animhotep 10.07.2013 16:29

если ваш #block1 именно блок, тоесть display: block; то он по ширине будет на всё окно

skrudjmakdak 10.07.2013 16:34

Цитата:

Сообщение от animhotep (Сообщение 261592)
если ваш #block1 именно блок, тоесть display: block; то он по ширине будет на всё окно

хм.. а если прописано, ну допустим width: 500px

animhotep 10.07.2013 16:36

поставить width: auto ) и блок будет следить

Krovex 10.07.2013 16:40

skrudjmakdak, таким способ ширина прописывается один раз при загрузке страницы, а мне нужно чтобы изменение ширины как то отслеживалось.
Может как то с помощью bind() можно?

skrudjmakdak 10.07.2013 16:53

к диву событие resize применить нельзя. только к window
при срабатывании resize в window отслеживайте был ли изменен размер вашего дива

Krovex 10.07.2013 17:09

function screenSize() {
   var w, h;
   w = (window.innerWidth ? window.innerWidth : (document.documentElement.clientWidth ? document.documentElement.clientWidth : document.body.offsetWidth));
   h = (window.innerHeight ? window.innerHeight : (document.documentElement.clientHeight ? document.documentElement.clientHeight : document.body.offsetHeight));
   return {w:w, h:h};
}
function ChHgh() {
   var content_width = screenSize().w;
   document.getElementById('block1').style.width = content_width + 'px';
}


вот так вышло

animhotep 10.07.2013 17:35

а width: auto блоку поставить не вариант? чтото много букав вышло

Krovex 10.07.2013 17:37

animhotep, этот код работает.
Помогите пожалуйста сделать то же самое только для значения left.
Все то же самое, только чтобы content_width записывался не в width, а в left


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