Отследить изменение body.scrollWidth
Здравствуйте.
У меня следующая проблема. Мне нужно чтоб размер некоторых элементов изменялся если изменяется размер body, в частности ширина, но не ширина окна, а ширина внутренняя учитывая прокручиваемую область. В IE эта ширина находится в свойстве body.scrollWidth, но как узнать когда она изменилась? Ивент onresize естественно не подходит, так как отслеживает размер окна браузера. Может кто-то решал такую проблему. Спасибо |
не туда копаешь, событие должны генерировать элементы изменяющие scrollWidth. Другой способ вряд ли есть
|
Yazla,
если еще актуально, дайте ссылку на Ваш проект. Уверен, Вам нужен, скорее, не яваскрипт, а css. |
x-yuri
Цитата:
Трабл в том, что я работаю с asp.net контролом который генерит довольно сложный html текст и отследить какой html елемент является первопричиной изменения scrollWidth практически не реально. Я конечно могу окружить всё дивом но у дивов, насколько я знаю, нету события ресайз. subzey Цитата:
Актуально, но к сожалению не могу дать ссылку на проект, так как всё на локальной машине да ещё и проект корпоративный и требует чтоб юзер был в домене. Возможно вы правы насчёт css. Тогда могу переформулировать вопрос: какой стиль нужно применить к диву, чтобы его ширина изменялась и ставала равной body.scrollWidth если body.scrollWidth изменилась каким либо образом? Надеюсь понятно обьяснил. Спасибо. |
Цитата:
|
Цитата:
Только что специально проверил, нет, это не поведение по умолчанию. |
Цитата:
|
Цитата:
Можеш попробывать сам. Вставь этот код в консоль фаербага //добавим див который по умолчанию должен был бы "подстраиатся под //document.body.scrollWidth" var testDiv = document.createElement("div"); testDiv.style.height = '10px'; testDiv.style.backgroundColor = 'Black'; document.body.appendChild(testDiv); // добавим второй див который заставит изменится document.body.scrollWidth var testDiv2 = document.createElement("div"); testDiv2.style.height = '10px'; testDiv2.style.width= '10px'; testDiv2.style.backgroundColor = 'Red'; testDiv2.style.position= 'absolute'; document.body.appendChild(testDiv2); testDiv2.style.left= '2000px'; Странно но у меня ширина первого дива не изменилась. |
Зачем javascript?
http://softwaremaniacs.org/blog/2005...s-layout-flow/ Цитата:
|
Цитата:
Если ты можеш привести обратный пример то приведи. |
Часовой пояс GMT +3, время: 22:18. |