Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.03.2008, 14:42
DrewBlin
 
Сообщений: n/a

style.clip vs IE
Подскажите, пожалуйста, кто сталкивался с такой проблемой. Почему IE выполняет команду

document.styleSheets[0].rules[0].style.clip='rect(0px '+document.getElementById('abc').value+'px auto 0px)';

только 1 (один) раз? Первый раз задай значение 60 - устанавливает для элемента область нужную. Второй раз какое бы значение не задавал - не меняет. Но и ошибку не выдает. Мозила и Опера свою команду:

document.styleSheets[0].cssRules[0].style.clip='rect(0px '+document.getElementById('abc').value+'px auto 0px)';

выполняют на ура.

<Style type='text/css'>
.col1 {width:80px; position:absolute}
.col2 {width:80px; position:absolute}
</Style>
Ответить с цитированием
  #2 (permalink)  
Старый 14.03.2008, 15:59
Аватар для Илья Кантор
Администратор
Отправить личное сообщение для Илья Кантор Посмотреть профиль Найти все сообщения от Илья Кантор
 
Регистрация: 25.05.2007
Сообщений: 1,221

Это CSS Expression ? В IE есть специальный метод для установки CSS Expression, его надо использовать, а не просто =.
Ответить с цитированием
  #3 (permalink)  
Старый 23.03.2008, 01:09
Интересующийся
Отправить личное сообщение для SelenIT Посмотреть профиль Найти все сообщения от SelenIT
 
Регистрация: 22.03.2008
Сообщений: 15

Сообщение от DrewBlin Посмотреть сообщение
Подскажите, пожалуйста, кто сталкивался с такой проблемой. Почему IE выполняет команду

document.styleSheets[0].rules[0].style.clip='rect(0px '+document.getElementById('abc').value+'px auto 0px)';

только 1 (один) раз? Первый раз задай значение 60 - устанавливает для элемента область нужную. Второй раз какое бы значение не задавал - не меняет. Но и ошибку не выдает.
Не меняет вообще (currentStyle.clip остается старым) или визуально? Если второе - возможно, hasLayout шалит. Попробуйте изменить какое-нибудь свойство, включающее hasLayout, например задать zoom:1.

Цитата:
Мозила и Опера свою команду:

document.styleSheets[0].cssRules[0].style.clip='rect(0px '+document.getElementById('abc').value+'px auto 0px)';

выполняют на ура.
Имхо, как раз это странно)). В стандарте я свойства style у интерфейса cssRule не наблюдаю... возможно, не там искал .

Сообщение от Илья Кантор Посмотреть сообщение
Это CSS Expression ?
Нет.
Ответить с цитированием
Ответ



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

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