今天就跟大家聊聊有關(guān)javascript中如何使用運(yùn)動(dòng)函數(shù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
目前創(chuàng)新互聯(lián)已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)站空間、綿陽服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、山海關(guān)網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
具體如下:
//封裝勻速運(yùn)動(dòng) //參數(shù): // 1、dom對(duì)象 // 2、樣式屬性(top,left,width,height,opacity等等) // 3、起始位置,結(jié)束位置 // 4、速度:時(shí)間間隔,步長(zhǎng) // 5、方向: //返回值 function moveObj(domObj,attr,startValue,endValue,timeSpace,step,direction) { let currValue = startValue; let myTimer = setInterval(function(){ //1、改變數(shù)據(jù) currValue = currValue+direction*step; //2、判斷邊界 // if(currValue>=endValue){//?? // currValue = endValue;//?? // window.clearInterval(myTimer); // } if(Math.abs(currValue-endValue)0?1:-1;//?? let timeSpace = 10; let step = Math.abs(endValue-startValue)/(timeLong/timeSpace) // endValue-startValue/步子數(shù);// let currValue = startValue; let myTimer = setInterval(function(){ //1、改變數(shù)據(jù) currValue = currValue+direction*step; //2、判斷邊界 if(Math.abs(currValue-endValue) =offsetX){ left1 = offsetX; top1=Math.sqrt(2*p*left1); window.clearInterval(myTimer); if(func){ func(); } } //3、改變外觀 domObj.style.left = left1+startPoint.x+"px"; domObj.style.top = top1+startPoint.y+"px"; },timeSpace); } //淡入: //參數(shù): // dom對(duì)象 // 時(shí)長(zhǎng); //返回值:無 function fadeIn(domObj,timeLong){ domObj.style.opacity = 0; moveObj02(domObj,"opacity",1,timeLong); } //淡出: //參數(shù): // dom對(duì)象 // 時(shí)長(zhǎng); //返回值:無 function fadeOut(domObj,timeLong){ domObj.style.opacity = 1; moveObj02(domObj,"opacity",0,timeLong); } //淡入和淡出: //參數(shù): // domObjIn:淡入的dom對(duì)象 // domObjOut:淡出的dom對(duì)象 // 時(shí)長(zhǎng); //返回值:無 function fadeInOut(domObjIn,domObjOut,timeLong,func){ domObjIn.style.opacity = 0; domObjOut.style.opacity = 1; let startValue = 0; let endValue = 1; let direction= 1; let timeSpace = 10; let step = Math.abs(endValue-startValue)/(timeLong/timeSpace) // endValue-startValue/步子數(shù);// let currValue = startValue; let myTimer = setInterval(function(){ //1、改變數(shù)據(jù) currValue = currValue+direction*step; //2、判斷邊界 if(Math.abs(currValue-endValue) 0?1:-1;//?? let directionObj = {}; for(let key in endObj){ directionObj[key] = endObj[key]>startObj[key]?1:-1; } let timeSpace = 10; // let step = Math.abs(endValue-startValue)/(timeLong/timeSpace) // endValue-startValue/步子數(shù);// let stepObj = {}; for(let key in endObj){ stepObj[key] = Math.abs(endObj[key]-startObj[key] )/(timeLong/timeSpace); } //let currValue = startValue; let currObj = {}; for(let key in endObj){ currObj[key] = startObj[key]; } let myTimer = setInterval(function(){ //1、改變數(shù)據(jù) //currValue = currValue+direction*step; for(let key in endObj){ currObj[key] = currObj[key]+directionObj[key]*stepObj[key]; } //2、判斷邊界 let firstKey = Object.keys(endObj)[0]; if(Math.abs(currObj[firstKey]-endObj[firstKey]) 看完上述內(nèi)容,你們對(duì)javascript中如何使用運(yùn)動(dòng)函數(shù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。
網(wǎng)頁題目:javascript中如何使用運(yùn)動(dòng)函數(shù)
標(biāo)題來源:http://weahome.cn/article/poseig.html