設定innerHTML後翻滾的奇怪現象

2021-08-30 10:41:18 字數 665 閱讀 1162

最近碰到乙個奇怪的問題,記錄一下。

處理過程是這樣的,畫面的onload事件中,通過ajax去後台讀取資料,在ajax的響應函式中將資料寫入乙個div的innerhtml,然後捲動這個div一定的距離。

示意**如下(body中οnlοad="init()"):

function init() }}

request.open('get', url, true);

request.send(null);

...}

function responsehandler(request)

function scroll() ;

}

執行時發現,有時能滾到位,有時不能滾到位,ie8和ff3.5上都試過,現象一樣。我估計是有時innerhtml雖然賦值完畢,但瀏覽器還沒有處理完,所以指定的滾動位置越界,造成沒滾到位。之後我苦苦找尋設定innerhtml後處理完成的事件也沒找到,最後找到乙個奇怪的辦法可以解決這個問題,就是呼叫翻滾時不是直接呼叫scroll(), 而是這樣:

settimeout("scroll()", 0);

說它奇怪是因為延時雖然設為0,但每次都能正常翻滾到指定位置,屢試不爽。奇怪。

Unity 黑暗之魂復刻 翻滾 後跳功能

翻滾 1.在animator中新增新的狀態roll,將roll的觸發的條件設定為trigger,在jump fall ground都可以轉換狀態到roll,在roll中新增乙個fsmonenter,套接乙個方法onrollenter給actorcontroller,在onrollenter中做和on...

跨瀏覽器的設定innerHTML方法

很多人都可能遇到過這種情況 設定 innerhtml 的時候,插入的 html 中包含指令碼,但這些指令碼卻不生效,或者在 ie 上生效在其它瀏覽器上就不生效。原因很簡單 不同瀏覽器對插入 innerhtml 中的指令碼有不同的處理方法。經過實踐,歸納如下 對於ie,首先 script 標籤必須帶 ...

innerText和innerHtml的區別

innertext 跟innerhtml 是兩個非 dom標準的方法 其區別如圖所示 在ie中 innertext 跟 innerhtml 兩個方法都能正常執行 但是ff裡面的innertext不可用,但是有乙個替代方法 textcontent ie odiv.innertext astring o...