新增後造成JS寫的定位失效

2022-09-17 12:21:10 字數 666 閱讀 1513

今天同事找了乙個懸浮廣告的外掛程式,但是一放入頁面中就失效了,也沒有報錯,後來通過原檔案對比,發現是加了。

這樣子定位並不起效果:

document.getelementbyid("rockimg").style.left=document.getelementbyid("rockimg").offsettop;

後來在網上找了一下發現是宣告文件的解析型別(document.compatmode)的原因:

document.compatmode:

backcompat:怪異模式,瀏覽器使用自己的怪異模式解析渲染頁面。

css1compat:標準模式,瀏覽器使用w3c的標準解析渲染頁面。

當沒有時瀏覽器會使用backcompat,在這個模式下問題較多,文件宣告也不嚴格,像上述**出來的值加不加**都不要緊,均可執行。

但是加了後瀏覽器就會使用css1compat,在這個模式下瀏覽器會使用w3c標準來渲染頁面,這樣要求也會比較嚴格,像上述**得出來的值只是數字,所以必須要新增單位才可以執行。

修改為:

document.getelementbyid("rockimg").style.left=document.getelementbyid("rockimg").offsettop+'px';

如何給後新增的標籤新增事件

給新新增的元素hidden panel類新增點選事件 body on click hidden panel function e 或參考 給動態新增的標籤新增事件的問題 tangmin的部落格 csdn部落格 測試 23 doctype html 4 html 5 head 6 meta chars...

js關於html載入完後執行事件的常見寫法

除非真是有這樣的需求 等待頁面的樣式表 子幀 subframes 都載入完畢,否則沒必要使用load事件,相反使用domcontentloaded更合適些。window.onload function 或者 window.addeventlistener load function domconte...

js寫的分頁2

於 在這個基礎上稍作 修改,增加了可選每頁顯示條數並跳到第一頁 1.html 2.css pagination ul pagination ul li pagination ul li hover pagination li.active pagination li.disabled paginat...