首頁  >  文章  >  web前端  >  jQuery setTimeout傳遞字串參數報錯的解決方法_jquery

jQuery setTimeout傳遞字串參數報錯的解決方法_jquery

WBOY
WBOY原創
2016-05-16 16:45:141284瀏覽

當你打算呼叫一些jQuery程式碼顯示隱藏的一個元素,並呼叫setTimeout()在一段延遲之後設定其HTML的內容:

整個頁面的程式碼是這樣的.

複製程式碼 程式碼如下:







show next







.show()確實調用成功了.但是.text()調用失敗了.console顯示text未定義.

對於這個問題,我確實沒有找到更好的答案...我想是不是jQuery對這個傳入setTimeout()函數的內容做了修改導致變數失效.

我緊接著做了下一個實驗. 程式碼如下:







show next







我要看看是不是確實是jQuery出了問題.得到的是同樣的錯誤.

後來找了本書看了看.發現了問題的所在.

setTimeout() 接受一個字串參數時,它執行於全域作用域,也就是說,它位於任何函數之外.最簡單的修復手段就是使用一個局部函數(匿名函數)來解決這個問題. 程式碼如下:







show next






成功解決這個問題.
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn