Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.03.2014, 11:41
Mel Mel вне форума
Аспирант
Отправить личное сообщение для Mel Посмотреть профиль Найти все сообщения от Mel
 
Регистрация: 24.02.2012
Сообщений: 33

Ширина элемента по соседнему без использования ID
Есть div по ширине окна.
В него добавляются динамически через jquery элементы. Сколько будет этих элементов и какой они будут ширины, неизвестно.
Надо добавить последний div, заполнивший собой остаток до правого края родительского, изменяющийся при изменении размера окна.

Дело осложняется тем, что родительских div'ов может быть несколько.

При создании я имею jquery'евские объекты, которые и выкладываются. Задавать объектам ID нереально, это надо громоздить целую систему именования. Наверняка как-то можно задать css таким образом, чтобы width у последнего div'а был динамическим, но вот как?

Использоваться будет только под IE, DOCTYPE //W3C//DTD HTML 4.01//EN, так что можно использовать expression, но как их задать в jquery?
Ответить с цитированием
  #2 (permalink)  
Старый 27.03.2014, 11:56
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

А причем тут ID вообще?
Используй либо таблицу (можно просто css display:table-cell) либо когда добавляешь элемент, пересчитывай ширину заполнителя и обновляй ее.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 27.03.2014, 12:10
Профессор
Отправить личное сообщение для krasovsky Посмотреть профиль Найти все сообщения от krasovsky
 
Регистрация: 21.12.2012
Сообщений: 869

var parent = $('div')//это твой родительский див
var child = div.children('div');//это дивы внутри
var childW;
child.each.function(){
childW = childW +$(this).width();//ширина всех child
}

var newDiv=$('<div>,{id:'cap'}').css({width:parent.width()-childW});
paren.append(newDiv);

Это при вставке последнего дива
при ресайзе окна, вычислять ширину всех дивов кроме него, и изменять его ширину соответственно
Ответить с цитированием
  #4 (permalink)  
Старый 27.03.2014, 13:04
Mel Mel вне форума
Аспирант
Отправить личное сообщение для Mel Посмотреть профиль Найти все сообщения от Mel
 
Регистрация: 24.02.2012
Сообщений: 33

Сообщение от danik.js Посмотреть сообщение
пересчитывай ширину заполнителя и обновляй ее.
В конечном итоге к тому и прихожу, что рассчитываю размер по onresize. А хочется тупо в css expression записать и не думать больше об этом.
Ответить с цитированием
  #5 (permalink)  
Старый 27.03.2014, 15:19
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Mel
А хочется тупо в css expression записать и не думать больше об этом.
Какая разница между window.onresize = doResizing и expression: "doResizing"? Экспрешны тормозят сильно, потому что вызываются чаще чем нужно. А так ты можешь навешать расчеты только на нужное событие. Ну не прелесть ли?
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 27.03.2014, 19:34
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

Есть вариант проще. Если они все добавляются в строку, то задавать им float:left, а последний оставить без ширины и float - он сам растянется как надо.
<div>
    <div style="height:100px; background:#aaf; float:left; width:200px;"></div>
    <div style="height:100px; background:#faa; float:left; width:50px;"></div>
    <div style="height:100px; background:#afa; float:left; width:100px;"></div>
    <div style="height:100px; background:#000"></div>
</div>
__________________
29375, 35

Последний раз редактировалось Aetae, 27.03.2014 в 19:39.
Ответить с цитированием
  #7 (permalink)  
Старый 27.03.2014, 21:51
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aetae,
так он же растянется на всю ширину страницы?
Ответить с цитированием
  #8 (permalink)  
Старый 27.03.2014, 23:08
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

рони, 0_о? На всю ширину контейнера же...
<div style="width:70%;">
    <div style="height:100px; background:#aaf; float:left; width:200px;">1</div>
    <div style="height:100px; background:#faa; float:left; width:50px;">2</div>
    <div style="height:100px; background:#afa; float:left; width:100px;">3</div>
    <div style="height:100px; background:#aaa">4</div>
</div>
__________________
29375, 35
Ответить с цитированием
  #9 (permalink)  
Старый 27.03.2014, 23:16
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Aetae,
ну контейтера а контейнер
Сообщение от Mel
Есть div по ширине окна.
непонятно зачем но данное ниже условие в этом случае невыполняется
Сообщение от Mel
Надо добавить последний div, заполнивший собой остаток до правого края родительского, изменяющийся при изменении размера окна.
Ответить с цитированием
  #10 (permalink)  
Старый 27.03.2014, 23:51
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,584

рони, не понял о чем ты, если честно.)
__________________
29375, 35
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
slidetoggle без использования jquery Aligatro Общие вопросы Javascript 12 18.02.2014 21:37
Почему можно использовать id элемента без использования getElementById? grifangel Общие вопросы Javascript 3 08.01.2014 22:20
эмуляция события resize для элемента без использования фрейма (scroll-based?) danik.js Events/DOM/Window 1 08.04.2013 13:58
Ширина родительского элемента svs_js jQuery 1 31.10.2012 15:53
Помогите с калькулятором piton1175 AJAX и COMET 0 16.06.2011 14:29