成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

JS實現(xiàn)的拋物線運動效果示例

本文實例講述了JS實現(xiàn)的拋物線運動效果。分享給大家供大家參考,具體如下:

創(chuàng)新互聯(lián)公司于2013年成立,先為貴定等服務(wù)建站,貴定等地企業(yè),進行企業(yè)商務(wù)咨詢服務(wù)。為貴定企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務(wù)解決您的所有建站問題。

先來看看運行效果:

JS實現(xiàn)的拋物線運動效果示例

具體代碼如下:

<!doctype html >
<html>
<head>
  <meta charset="utf-8"/>
  <title>拋物線運動</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);//對邊比斜邊,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.jb51.net
<input type="button" value="拋物線" onclick="test()"/>
  <div class="pwx_rect" id="rect"></div>
  <div class="pwx_hr"></div>
</body>
</html>

實現(xiàn)思路:

JS實現(xiàn)的拋物線運動效果示例

X方向的邊長每次遞增5,角度每次遞減1,根據(jù)這兩個已知條件,通過三角函數(shù)就可以計算出Y方向的長度是多少

從而得出每次運動的X和Y方向的坐標值,達到拋物線的效果

更多關(guān)于JavaScript相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《JavaScript運動效果與技巧匯總》、《JavaScript切換特效與技巧總結(jié)》、《JavaScript查找算法技巧總結(jié)》、《JavaScript動畫特效與技巧匯總》、《JavaScript錯誤與調(diào)試技巧總結(jié)》、《JavaScript數(shù)據(jù)結(jié)構(gòu)與算法技巧總結(jié)》、《JavaScript遍歷算法與技巧總結(jié)》及《JavaScript數(shù)學(xué)運算用法總結(jié)》

希望本文所述對大家JavaScript程序設(shè)計有所幫助。

網(wǎng)頁題目:JS實現(xiàn)的拋物線運動效果示例
文章源于:http://jinyejixie.com/article32/jpoopc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供自適應(yīng)網(wǎng)站標簽優(yōu)化、搜索引擎優(yōu)化網(wǎng)站制作、營銷型網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)
六盘水市| 保定市| 霍林郭勒市| 上林县| 兴山县| 平定县| 肇源县| 高碑店市| 郎溪县| 句容市| 双城市| 岫岩| 龙川县| 平度市| 扎兰屯市| 连山| 东乡县| 青浦区| 康马县| 阿拉善左旗| 哈密市| 虹口区| 梁山县| 黄龙县| 灵石县| 安阳县| 同德县| 东城区| 乌兰浩特市| 尉氏县| 吴旗县| 乐平市| 永城市| 石嘴山市| 渭南市| 神池县| 白水县| 华安县| 崇礼县| 新丰县| 全州县|