Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.12.2009, 15:42
Аспирант
Отправить личное сообщение для Yazla Посмотреть профиль Найти все сообщения от Yazla
 
Регистрация: 01.11.2009
Сообщений: 31

Отследить изменение body.scrollWidth
Здравствуйте.
У меня следующая проблема. Мне нужно чтоб размер некоторых элементов изменялся если изменяется размер body, в частности ширина, но не ширина окна, а ширина внутренняя учитывая прокручиваемую область. В IE эта ширина находится в свойстве body.scrollWidth, но как узнать когда она изменилась? Ивент onresize естественно не подходит, так как отслеживает размер окна браузера.
Может кто-то решал такую проблему.

Спасибо
Ответить с цитированием
  #2 (permalink)  
Старый 21.12.2009, 15:43
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

не туда копаешь, событие должны генерировать элементы изменяющие scrollWidth. Другой способ вряд ли есть
Ответить с цитированием
  #3 (permalink)  
Старый 22.12.2009, 00:09
Аватар для subzey
Пионэр
Отправить личное сообщение для subzey Посмотреть профиль Найти все сообщения от subzey
 
Регистрация: 16.11.2009
Сообщений: 1,322

Yazla,
если еще актуально, дайте ссылку на Ваш проект.

Уверен, Вам нужен, скорее, не яваскрипт, а css.
Ответить с цитированием
  #4 (permalink)  
Старый 23.12.2009, 21:15
Аспирант
Отправить личное сообщение для Yazla Посмотреть профиль Найти все сообщения от Yazla
 
Регистрация: 01.11.2009
Сообщений: 31

x-yuri
Цитата:
не туда копаешь, событие должны генерировать элементы изменяющие scrollWidth. Другой способ вряд ли есть
Спасибо за ответ.
Трабл в том, что я работаю с asp.net контролом который генерит довольно сложный html текст и отследить какой html елемент является первопричиной изменения scrollWidth практически не реально. Я конечно могу окружить всё дивом но у дивов, насколько я знаю, нету события ресайз.

subzey
Цитата:
Если еще актуально, дайте ссылку на Ваш проект.

Уверен, Вам нужен, скорее, не яваскрипт, а css.
Спасибо за ответ.
Актуально, но к сожалению не могу дать ссылку на проект, так как всё на локальной машине да ещё и проект корпоративный и требует чтоб юзер был в домене.
Возможно вы правы насчёт css. Тогда могу переформулировать вопрос: какой стиль нужно применить к диву, чтобы его ширина изменялась и ставала равной body.scrollWidth если body.scrollWidth изменилась каким либо образом? Надеюсь понятно обьяснил.

Спасибо.
Ответить с цитированием
  #5 (permalink)  
Старый 24.12.2009, 03:17
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Yazla
чтобы его ширина изменялась и ставала равной body.scrollWidth если body.scrollWidth изменилась каким либо образом
это поведение по умолчанию.
Ответить с цитированием
  #6 (permalink)  
Старый 24.12.2009, 12:43
Аспирант
Отправить личное сообщение для Yazla Посмотреть профиль Найти все сообщения от Yazla
 
Регистрация: 01.11.2009
Сообщений: 31

Сообщение от Riim Посмотреть сообщение
это поведение по умолчанию.
Спасибо за ответ.
Только что специально проверил, нет, это не поведение по умолчанию.
Ответить с цитированием
  #7 (permalink)  
Старый 24.12.2009, 12:57
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Сообщение от Yazla
это не поведение по умолчанию
плохо проверял.
Ответить с цитированием
  #8 (permalink)  
Старый 24.12.2009, 13:22
Аспирант
Отправить личное сообщение для Yazla Посмотреть профиль Найти все сообщения от Yazla
 
Регистрация: 01.11.2009
Сообщений: 31

Сообщение от Riim Посмотреть сообщение
плохо проверял.
Возможно.
Можеш попробывать сам.
Вставь этот код в консоль фаербага
//добавим див который по умолчанию должен был бы "подстраиатся под //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';

Странно но у меня ширина первого дива не изменилась.
Ответить с цитированием
  #9 (permalink)  
Старый 24.12.2009, 13:29
Аватар для Riim
Рассеянный профессор
Отправить личное сообщение для Riim Посмотреть профиль Найти все сообщения от Riim
 
Регистрация: 06.04.2009
Сообщений: 2,379

Зачем javascript?

http://softwaremaniacs.org/blog/2005...s-layout-flow/
Цитата:
Блочные боксы (или просто "блоки") - это прямоугольники, которые занимают по ширине все доступное им место и никуда не переносятся. А вот собственной высоты они не имеют. Их размер по высоте определяется теми боксами, которые они содержат в себе. И это - содержание в себе других боксов - их основная задача. Содержать в себе они могут и строчные боксы, и блочные.
Ответить с цитированием
  #10 (permalink)  
Старый 24.12.2009, 13:55
Аспирант
Отправить личное сообщение для Yazla Посмотреть профиль Найти все сообщения от Yazla
 
Регистрация: 01.11.2009
Сообщений: 31

Сообщение от Riim Посмотреть сообщение
Зачем javascript?

http://softwaremaniacs.org/blog/2005...s-layout-flow/
Этот код генерит хтмл для примера и не более. И этот пример тебе всё показывает.
Если ты можеш привести обратный пример то приведи.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
изменение ширины столбцов таблицы yngwie19 Элементы интерфейса 10 11.11.2009 17:22
Отследить изменение фрейма в другом фрейме sancho Events/DOM/Window 1 18.08.2009 09:32
изменение переменной Ilja_ORDY Общие вопросы Javascript 3 09.09.2008 18:56
Динамическое изменение <input text> baal1988 Events/DOM/Window 4 24.08.2008 17:17
Динамическое изменение размеров изображения Макс Элементы интерфейса 7 21.07.2008 16:55