Изменить ширину div в реальном времени с помощью jQuery - PullRequest
15 голосов
/ 16 ноября 2011

Можно ли изменить ширину div в реальном времени с помощью jQuery? И если да, то как?

Я хочу изменить его ширину в зависимости от ширины окна браузера в реальном времени, поэтому, если / когда пользователь меняет окно браузера, размеры div также изменяются в реальном времени.

Ответы [ 5 ]

22 голосов
/ 16 ноября 2011

Вы можете использовать, который будет срабатывать при изменении размера окна.

$( window ).bind("resize", function(){
    // Change the width of the div
    $("#yourdiv").width( 600 );
});

Если вы хотите, чтобы ширина DIV в процентах от экрана, просто используйте CSS width : 80%;.

16 голосов
/ 16 ноября 2011

Действительно возможно изменить div ширину элементов в jQuery:

$("#div").css("width", "300px");

Однако то, что вы описываете, может быть лучше и эффективнее достигнуто в CSS, задав ширину в процентах:

#div {
    width: 75%;
    /* You can also specify min/max widths */
    min-width: 300px;
    max-width: 960px;
}

Этот div всегда будет на 75% ширины экрана, если ширина экрана не означает, что div будет меньше 300px или больше 960px.

1 голос
/ 16 ноября 2011

Есть два способа сделать это:

CSS: Использовать ширину как%, например, 75%, поэтому ширина div будет меняться автоматически, когда пользователь изменяет размер браузера.

Javascipt: Использование изменить размер событие

$(window).bind('resize', function()
{
    if($(window).width() > 500)
        $('#divID').css('width', '300px');
    else
        $('divID').css('width', '200px');
});

Надеюсь, это поможет вам :)

0 голосов
/ 13 февраля 2015

Получил лучшее решение:

$('#element').resizable({
    stop: function( event, ui ) {
        $('#element').height(ui.originalSize.height);
    }
});
0 голосов
/ 16 ноября 2011

Нельзя просто использовать процентную ширину для div?Установка ширины в 50% сделает его на 50% шире окна (при условии, что для родительского элемента с назначенной шириной нет).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...