国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

javascript的慣性運(yùn)動實(shí)現(xiàn)代碼實(shí)例

2019-11-19 10:51:26
字體:
供稿:網(wǎng)友

移動端的慣性運(yùn)動,最早來自 ios 的專利。用于手指滑動,離開屏幕之后,屏幕內(nèi)容繼續(xù)滾動。更有動態(tài)感。

這里,以 pc 端,鼠標(biāo)橫向(沿x軸) 拖拽的,慣性計算。移動端同理

效果

代碼如下

<!DOCTYPE html><html lang="zh"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>慣性運(yùn)動</title>  <style type="text/css">    #box{      background: pink;      width: 100px;      height: 100px;      position: absolute;      top: 100px;      left: 100px;    }  </style></head><body>  <div id="box"></div></body><script type="text/javascript">  var $box = document.getElementById("box");     var isDown = false; //是否按下鼠標(biāo)  var inertance = 1.2; //慣性系數(shù),越大,慣性越不明顯,不能小于0  var fv = 0; //滑動的力度  var timer = null;  $box.onmousedown = function(e){    clearTimeout(timer);//清除定時器    fv = 0;    this._start = e.clientX; //鼠標(biāo)按下的位置    isDown = true;//鼠標(biāo)是否有按下,主要防止用戶是從容器外開始滑動的  }     $box.onmousemove = function(e){    if(isDown){      var miss = e.clientX - this._start;      moveMiss(miss)      this._start = e.clientX;      fv = miss;    }  }     function moveMiss(miss){    $box.style.left = miss + $box.offsetLeft + "px";  }     window.onmouseup = function(e){    if(isDown){      isDown = false;      var me = this;      var friction = ((fv >> 31) * 2 + 1) * inertance;//根據(jù)力度套用公式計算出慣性大小,公式要記住      var num = Math.abs(friction);      timer = setInterval(function(){         fv -= friction;//力度按 慣性的大小遞減         moveMiss(fv);         if(Math.abs(fv) < num){ //如果力度減小到小于1了,結(jié)束,或者邊界彈回           clearInterval(timer);           return ;         }      },20);    }  }   </script></html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 定日县| 济南市| 贺兰县| 葫芦岛市| 汝南县| 谷城县| 南江县| 长岛县| 潞城市| 黑水县| 昂仁县| 宣恩县| 巴青县| 公主岭市| 那曲县| 施甸县| 望谟县| 赤壁市| 龙岩市| 东乡族自治县| 安西县| 九江市| 莱阳市| 海宁市| 青神县| 阿拉善右旗| 孟连| 东阳市| 永定县| 上林县| 武乡县| 桓仁| 宣城市| 沂水县| 获嘉县| 通辽市| 桂东县| 特克斯县| 宁德市| 克东县| 绩溪县|