zoukankan      html  css  js  c++  java
  • [Js]缓冲运动

    一、运动框架

    1.在开始运动时,关闭已有定时器(否则会不断有新的定时器执行)

    2.把运动和停止隔开(if/else)

    二、缓冲运动

    逐渐变慢,最后停止(距离越远速度越大)

    速度=(目标值-当前值)/缩放系数

    例如 var iSpeed=(iTarget-oDiv.offsetLeft)/8;

    但由于除法可能产生小数,位置加上一个小数还是会被舍弃(如300.25px其实还是会被计算机当成300px),所以小数要给它向上取整,当然也有可能是负的小数,那就要向下取整

    iSpeed=iSpeed>0?Math.ceil(iSpeed):Math.floor(iSpeed);

    潜在问题:目标值有时候也是计算出来可能是小数,也要给它取整parseInt(iTarget)

    三、匀速运动的停止条件

    距离足够近

    if(Math.abs(oDiv.offsetLeft-iTarget)<iSpeed){           //不管往左还是往右,取绝对值

        oDiv.style.left=iTarget+'px';

    }

  • 相关阅读:
    hive实战记录
    并发
    软件安装
    idea
    maven
    thingkinginjava
    JVM
    并发模块concurrent
    ffmpeg_分割一个mp4文件到多个小的mp4文件
    用 ffmpeg 压缩视频
  • 原文地址:https://www.cnblogs.com/zhangwenkan/p/3611902.html
Copyright © 2011-2022 走看看