//這個函數(shù)時焦點輪播圖動畫的一部分,改變動畫列表left值的。我在setTimeout(arguments.callee,?interval);這里能用
callee屬性,可是最后一行的go()如何改?callee是屬性,不能寫arguments.callee()或return?arguments.callee?
function?animate(offset){
var?time?=?400; //time:每切一圖的時間
var?interval?=?10; //interval:最小定時間隔
var?speed?=?offset/(time/interval); ????????????????//speed:每定時周期偏移量
var?newLeft?=?parseInt(picList.style.left)?+?offset; ????????//移動后應到達的位置
function?go(){
animated?=?true; //動畫開始
//判斷條件(列表右移且未到達預定位置?||?列表左移且未到達預定位置)
if?((speed?>?0?&&?parseInt(picList.style.left)?<?newLeft)?||?speed?<?0?&&?parseInt(picList.style.left)?>?newLeft)?{
picList.style.left?=?parseInt(picList.style.left)?+?speed?+?"px";
setTimeout(arguments.callee,?interval); //遞歸直到到達預定位置
}?else{???//到達預定位置后判斷時候需要跳轉
picList.style.left?=?newLeft?+?"px";
if?(newLeft?>?-800)?{
picList.style.left?=?-3200?+?"px";
}?else?if?(newLeft?<?-3200)?{
picList.style.left?=?-800?+?"px";
}
animated?=?false; //動畫結束(不能寫在后面那個括號外)
}
}
go();??//調用函數(shù)
}
這個javascript例子如何不用函數(shù)名回調本身,像使用arguments.callee一樣?
newsudhc3634140
2016-10-01 15:29:39