延遲渲染的優(yōu)缺點(diǎn) settimeout和setinterval的區(qū)別?
settimeout和setinterval的區(qū)別?SetTimeout只運(yùn)行一次,也就是說,當(dāng)設(shè)置的時間到達(dá)時,指定的代碼會被觸發(fā)運(yùn)行,運(yùn)行后會結(jié)束。如果在正在運(yùn)行的代碼中再次運(yùn)行相同的setTim
settimeout和setinterval的區(qū)別?
SetTimeout只運(yùn)行一次,也就是說,當(dāng)設(shè)置的時間到達(dá)時,指定的代碼會被觸發(fā)運(yùn)行,運(yùn)行后會結(jié)束。如果在正在運(yùn)行的代碼中再次運(yùn)行相同的setTimeout命令,則可以對其進(jìn)行循環(huán)。Setinterval在循環(huán)中運(yùn)行,也就是說,每個設(shè)置的時間間隔都會觸發(fā)指定的代碼。這是真正的計(jì)時器。Setinterval易于使用,而setTimeout更靈活。它可以在任何時候退出循環(huán),并且可以設(shè)置為以不規(guī)則的間隔運(yùn)行,例如第一次1秒,第二次2秒,第三次3秒
將setTimeout中的函數(shù)(){snow()}更改為:參數(shù).被調(diào)用方
就是這樣!因?yàn)樵诤瘮?shù)體聲明完成之前,不可能在setTimeout中調(diào)用自身。
直接使用參數(shù).被調(diào)用方表示當(dāng)前函數(shù)本身。
再看看你的代碼,目標(biāo)1樣式.top返回值必須是字符串值,如“20px”,因此=運(yùn)算符無法完成所需的操作。你得先把它變成一個數(shù)字。
例如:
obj1樣式.top=((parseInt(Obj1。樣式.top)||0)2)“PX”
這樣
!做JS腳本,可以看看開源的JS框架,叫做jser,使用方便。