我調整使用javascript一個div的風格:爲什麼Internet Explorer會在某些情況下自動調整div的style.left值?
div.style.left = "486px";
I輸出值:
console.log("left after:" + div.style.left);
輸出:
LOG:離開後:486px
看起來不錯。但我看到div不在那裏。我使用開發人員工具檢查內聯樣式:
left: 852px
這不會總是發生。左值的某些更改正常工作。但在其他人身上,一些「額外」調整是在之後做出的。
它只發生在Internet Explorer(測試版本8)。經過Firefox,Chrome,Opera和Safari測試,並沒有發生。任何想法?
我正在做這個調整作爲瀏覽器縮放使用$(窗口).resize函數的反應。 我在最後使輸出「在......之後:」。我假設瀏覽器已完成所有縮放和重新定位的內容。我設定我的價值,我輸出它的最後,然後期望在CSS中看到這個值。這在大多數情況下都會發生,但有時(大變焦)我會得到這些不同的值。
編輯:僅當瀏覽器縮放設置爲150%或175%時纔會發生。例如,我將150%的左值設置爲567px。但在CSS中,當我回到縮放級別125%或更低時,它會得到851px。從200%轉發也可以工作(設置425px)。
並沒有多說這個問題。你知道誰是元素的抵消父母嗎?據我所知,IE工具顯示相對於屏幕的偏移量,以及偏移父級。 – Joseph 2012-03-29 17:17:01
div是從身體直接的小孩。抵消父母應該是身體。 – Ixx 2012-03-29 17:24:51
我知道在IE8中有一個錯誤會導致一個有效的調整大小,直到你點擊屏幕或其他東西(我相信它是垂直調整大小)不觸發調整大小。如果您要添加這樣的樣式元素,您應該能夠使用DOM檢查器查看內聯樣式。 – 2012-03-29 17:34:13