Встановлення ширини у відсотках за допомогою jQuery


85

Як я можу встановити ширину div у відсотках за допомогою jQuery?

Відповіді:


133

Використання функції ширини :

$('div#somediv').width('70%');

перетвориться:

<div id="somediv" />

в:

<div id="somediv" style="width: 70%;"/>

3
я отримав ширину змінної! Як я можу зробити це на% ширини ??
hemnath mouli

2
@hemnathmouli jQuery ("div # somediv"). width (myvar + "%");
Zorgatone

У мене є елемент із шириною 24%, якщо встановити ширину, як ви пропонуєте, до 11%, я отримую ширину 33%. Я думав, що це додає ширину до існуючої ширини, але, як ви бачите, 24 + 11 = 35, а не 33. Чи могли б ви уявляти, чому це відбувається?
Євген

Я знаю, що це стара публікація, але я просто натрапив на неї, оскільки це перший результат в Google. Я помітив, що функція css () трохи швидша за ширину (), можливо, я помиляюся.
Дохаб,

1
Я намагався встановити ширину, використовуючи, .width("20%")однак, елемент постійно встановлювався width: 24%. Перекопавши документи, виявляється, це пов’язано з box-sizingвластивістю CSS . Використання .css({'width':"20%"})дозволить уникнути цього регулювання.
khartnett

14

Гемнат

Якщо ваша змінна - це відсоток:

var myWidth = 70;
$('div#somediv').width(myWidth + '%');

Якщо ваша змінна в пікселях, і вам потрібен відсоток, який вона займає від батьків:

var myWidth = 140;
var myPercentage = (myWidth / $('div#somediv').parent().width()) * 100;
$('div#somediv').width(myPercentage + '%');

13

Ось альтернатива, яка працювала у мене:

$('div#somediv').css({'width': '70%'});
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.