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