javascript之解決IE下不渲染的bug

來源:互聯網
上載者:User

有時候,你會發現,在一些JS應用中,涉及到CSS的重新渲染(即頁面樣式需要更新)的話,IE死活不變。
此時你需要讓IE重新渲染一下:

function handleIEhasLayout(){
//trigger re-rendering
document.body.style.zoom = 1.1;
//restore it
document.body.style.zoom = '';
}

有問題,記得執行一下handleIEhasLayout,萬事OK。

原文:http://realazy.org/blog/2007/04/02/ie-haslayout-rerendering/

引用
IE5 似乎沒有這個問題,IE6 有,我的 IE7 還是 beta2,版本號碼是 7.0.5346.5,也沒有這個問題,一個朋友用的 beta3 版本號碼是 7.0.5450.4 居然說也有問題,我沒有測試,用這個版本 IE 的朋友可以幫忙看看。

Dnew.cn 註:用這段代碼似乎更好一些:

function reflow(){
var b = document.body;
b.style.zoom = b.style.zoom=="1"?"100%":"1";
}

使用style.zoom在某些情況下還會出現不能全部渲染的問題,比如頁面內容很少,沒有佔滿螢幕。
(shiweiwei97)的方法是:

document.body.style.display = “none”;
document.body.style.display = “”;

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.