Jump to content
  • 0

expression вызывает зависание IE6


warobushek
 Share

Question

Здравствуйте, написал следующее под IE6

#last_news .inner { height: expression(this.scrollHeight > 211 ? "211px" : "auto"); }
#last_news .content {
height: expression(this.scrollHeight > 150 ? "150px" : "auto");
}

Этот CSS загружается с помощью условных комментариев. Вешает Internet Explorer 6 :P(

А вот HTML, для которого он предназначен

<div id="last_news" class="cornered"><div class="top"><div class="rt"></div><div class="lt"></div></div><div class="inner"><h3>Заголовок новости </h3><div class="content"><img alt="" src="/sites/all/modules/akado_news/news_stub.png"><p>Текст новости</p>
</div><div class="date">06.12.2010</div><div class="more"><a href="/node/1591">Подробнее</a></div></div><div class="bot"><div class="rb"></div><div class="lb"></div></div></div>

Edited by warobushek
Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
если высота больше определенного значения, то установить ее равной определенному значению

Вообще scrollHeight довольно сильно бажит в ИЕ. Может попробовать юзать вместо этого offsetHeight?

Еще можно попробовать написать что-то вроде этого:

#last_news .content {
height: expression((runtimeStyle.height = '') ? (runtimeStyle.height = this.scrollHeight > 150 ? '150px' : 'auto') : runtimeStyle.height);
}

Link to comment
Share on other sites

  • 0

например высота блока по дефолту 300.

тогда согласно проверке:

this.scrollHeight > 150 ? '150px' : 'auto'

ставиться высота 150 (так как 300 > 150)

и тут же сразу проверяем(так как данный експрешн выполняеться непрерывно) и получаеться что 150 не больше 150, значит выполняеться второе действие, и ставиться высота 'auto', значит увеличиться до 300, и сразу срабатывает первое действие.

Конечно при таком напряге зависнет.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy