這次給大家?guī)鞪S做出拋物線運(yùn)動(dòng)軌跡,JS做出拋物線運(yùn)動(dòng)軌跡的注意事項(xiàng)有哪些,下面就是實(shí)戰(zhàn)案例,一起來看一下。
具體代碼如下:
<!doctype html > <html> <head> <meta charset="utf-8"/> <title>拋物線運(yùn)動(dòng)</title> <style> .pwx_rect{position:absolute;left:10px;top:300px;background-color:#888;height:50px;width:50px;} .pwx_hr{border-top:2px solid #ddd;position:absolute;width:98%;left:0px;top:350px;} </style> <script> test = function(){ var rect = document.getElementById("rect"); pwx(rect,60,5); //參數(shù)2:拋物線角度,參數(shù)3:橫向速度每次增加5 } function pwx(rect,radian,step){ var animate = function(opt){ var cos = Math.cos(opt.radian*Math.PI/180);//鄰邊比斜邊,60度的話等于1/2 var sin = Math.sin(opt.radian*Math.PI/180);//對(duì)邊比斜邊,30度的話等于1/2 var left = opt.rect.offsetLeft; var top = opt.rect.offsetTop; if(opt.radian>0){ left+=opt.step; opt.radian-=1; //角度遞減1 var a = left - opt.initLeft; var c = (a/cos); var b = (sin*c); opt.rect.style.left = opt.initLeft+a+"px"; opt.rect.style.top = opt.initTop-b+"px"; setTimeout(function(){ animate(opt); },10); }else{ opt.rect.style.left = left+opt.step+"px"; opt.rect.style.top = opt.initTop+"px"; } } animate({ step : step, rect : rect, radian : radian, initTop : rect.offsetTop, initLeft : rect.offsetLeft }); } </script> </head> <body> www.gxlcms.com <input type="button" value="拋物線" onclick="test()"/> <p class="pwx_rect" id="rect"></p> <p class="pwx_hr"></p> </body> </html>
相信看了本文案例你已經(jīng)掌握了方法,更多精彩請(qǐng)關(guān)注Gxl網(wǎng)其它相關(guān)文章!
推薦閱讀:
JS提示文本框郵箱地址補(bǔ)全
vue的項(xiàng)目結(jié)構(gòu)須知
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com