前端笔记知识点整合之JavaScript(十二)缓冲公式&检测设备&Data日期-程序员宅基地

前端笔记知识点整合之JavaScript(十二)缓冲公式&检测设备&Data日期

一、JavaScript缓冲公式ease

原生JS没有自己的缓冲公式,但是你要自己推理的话,必须要懂一些数学和物理公式:

div100毫秒(帧),从left100px的位置变化到left800px的位置,要求匀速:

大致计算如下:

毫秒编号(帧)

距离起点的增量

目前绝对的位置

0

0

100

1

7

107

2

14

114

...

...

...

t

t*c/d

b+t*c/d

49

343

443

50

350

450

98

686

786

99

693

793

100

700

800

t是时间增量,b100c700d100

 t : 当前时间(current time

 b :初始值(begining value

 c :变化量(change in value

 d :持续时间(总步数)(duration

首先bcd三个参数(初始值、变化量、持续时间)在运动开始前,是需要确定好的。

举例:

div要向右缓动,left初始值100,那么b就是100,要向右移动700,那么c就是700,至于d的设置就比较灵活,只要符合t是从0d递增或递减就可以了

d根步骤配合使用来设置持续时间,例如d设置为100,如果设置步长是1,那么从0100就有100步,即分100次完成这个过程,步数越多那么持续时间就越长。

 2次:=100+A2*A2*700/(100*100)

 3次:=100+A2*A2*A2*700/(100*100*100)

 正弦1次: =100+SIN(A2/20)*700/SIN(100/20)

 正弦2次:=100+SIN(A2/20)*SIN(A2/20)*700/(SIN(100/20)*SIN(100/20))

 

var oDiv = document.getElementsByTagName('div');
var f = 0;
var timer = setInterval(function(){
   f++;
   if(f >= 100){
       clearInterval(timer);
   }
   oDiv[0].style.left = linear(f,100,700,100) + "px";
   oDiv[1].style.left = ease_2(f,100,700,100) + "px";
   oDiv[2].style.left = ease_3(f,100,700,100) + "px";
   oDiv[3].style.left = ease_sin(f,100,700,100) + "px";
   oDiv[4].style.left = ease_sin2(f,100,700,100) + "px";
},20);
// 推理出的匀速公式
function linear(t,b,c,d){
    return b + t * c / d;
}
function ease_2(t,b,c,d){
    return b + t * t * c / (d * d);
}
function ease_3(t,b,c,d){
    return b + t * t * t * c / (d * d * d);
}
function ease_sin(t,b,c,d){
    return b + Math.sin(t/20) * c / Math.sin(d/20);
}
 function ease_sin2(t,b,c,d){
    return b + Math.sin(t/20)*Math.sin(t/20) * c / (Math.sin(d/20)*Math.sin(d/20));
}

二、检测设备跳转

 

if(/(iPhone|iPad)/i.test(navigator.userAgent)){
    //如果当前设备是手持设备,就跳转到以下网址
    window.location.href = 'https://m.taobao.com/';
}else if(/(Android)/i.test(navigator.userAgent)){
    window.location.href = 'https://m.baidu.com/';
}

三、Date日期对象

Date() 方法可返回当天的日期和时间

 

 Date()          返回当日的日期和时间。

 getDate()       Date 对象返回一个月中的某一天 (1 ~ 31)

 getDay()        Date 对象返回一周中的某一天 (0 ~ 6)

 getMonth()      Date 对象返回月份 (0 ~ 11)

 getFullYear()   Date 对象以四位数字返回年份。

 getHours()      返回 Date 对象的小时 (0 ~ 23)

 getMinutes()    返回 Date 对象的分钟 (0 ~ 59)

 getSeconds()    返回 Date 对象的秒数 (0 ~ 59)

 getMilliseconds()   返回 Date 对象的毫秒(0 ~ 999)

 getTime()       返回 1970 1 1 日至今的毫秒数。

 


 

 JavaScript基础就到这里了,后续一些知识点我们在面向对象再见面吧,如果有哪些知识点遗漏了,请联系我补充谢谢。

 

posted @ 2019-03-30 19:15 mufengsm 阅读( ...) 评论( ...) 编辑 收藏
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/qq_24464827/article/details/89346549

智能推荐

logistic回归 java_【JAVA实现】用Logistic回归进行分类-程序员宅基地

文章浏览阅读550次。package logistic;import java.util.List;public class Horse {private List attributes;private String label;public List getAttributes() {return attributes;}public void setAttributes(List attributes) {this..._java逻辑回归实现

消息中间件之RocketMQ源码分析(十八)-程序员宅基地

文章浏览阅读378次,点赞7次,收藏4次。ConsumeQueue和IndexFile两个索引都是由ReputMessageService类创建的RequestMessageService类图ReputMessageService服务启动后的执行过程。CommitLogDispatcherBuildConsumeQueue索引处理器用于构建ConsumeQueue,CommitLogDispatcherBuildIndex用于构建IndexFile。

Java Word转PDF_java中word转pdf-程序员宅基地

文章浏览阅读238次。Java Word转PDF 工具类_java中word转pdf

文件的上传介绍(重点)-程序员宅基地

文章浏览阅读428次。文件的上传介绍1、要有一个form标签,method=post请求2、form标签的encType属性值必须为multipart/form-data值encType=multipart/form-data表示提交的数据,以多段(每一个表单项一个数据段〉的形式进行拼接,然后以二进制流的形式发送给服务器3、在form标签中使用input type=file添加上传的文件4、编写服务器代码(servelet)接收,处理上传的数据需要导入两个jar包:commons-fileupload-1.2.1.

计算机辅助教学:多媒体课件制作教程,多媒体课件制作教案-程序员宅基地

文章浏览阅读532次。Flash动画因其短小方便、交互性强、形武丰富多样等特点,越来越受到教师们的青睐.许多教师在制作课件时都喜欢把它加入其中,以丰富教学素材,更形象地表达出自己的授课意图.本文通过对Flash动画的特点以及使用Flash制作计算机网络多媒体课件的体会,来介绍Flash技术在多媒体课件制作中的应用.作 者...一个好的多媒体课件不仅能有形有色地把授课内容形象地表述出来,而且能达到最佳的教学效果。那么如何..._计算机辅助教学多媒体课件设计制作与应用 教案

区块链服务的四大应用场景,深度解读中!-程序员宅基地

文章浏览阅读621次。5月8日,阿里云召开区块链服务(BaaS)商业化发布会,会上再次表明阿里云BaaS只做平台基础设施,并欢迎更多生态伙伴共创垂直行业解决方案。区块链技术具备不可篡改的分布式账本,确保了信息的透明与共享,从而使得商业活动中点对点之间建立信任、达成共识的成本大幅下降。阿里巴巴集团学术委员会主席曾鸣提到过,区块链提供了“网状协同”的底层技术支持,这是未来十年最重要的创新和价值创造的动力。发布会深度解读了供..._区块链 商业服务

随便推点

python 图片处理库_Python图像处理库PIL的ImageEnhance模块使用介绍-程序员宅基地

文章浏览阅读665次,点赞2次,收藏6次。ImageEnhance模块提供了一些用于图像增强的类。一、ImageEnhance模块的接口所有的增强类都实现了一个通用的接口,包括一个方法:enhancer.enhance(factor) ⇒ image该方法返回一个增强过的图像。变量factor是一个浮点数,控制图像的增强程度。变量factor为1将返回原始图像的拷贝;factor值越小,颜色越少(亮度,对比度等),更多的价值。对变量fac..._python imageenhance

Linux中SVN的安装与使用_linux svn-程序员宅基地

文章浏览阅读1.9w次,点赞9次,收藏90次。SVN安装在公网IP为x.x.x.x的服务器上。第一步,可以使用命令检查系统是否安装SVN。大多数GNU/Linux发行版系统自带SVN,所以可能SVN已经安装在系统上,需要检查系统是否安装SVN。命令:rpm -qa subversion若结果显示“subversion-1.7.14-16.el7.x86_64”,则可以使用命令删除老版本,然后再安装SVN。命令:yum -y remove subversionyum -y install subversion若结果显示“bash: svn: comma_linux svn

echarts双坐标轴数据错乱问题_pyecharts坐标标签混乱-程序员宅基地

文章浏览阅读4.2k次,点赞3次,收藏3次。在实际开发过程中遇到一个问题,后台返回的数据是没有问题的,但是展示的时候图表数据对应不上以下是错误的效果图后来找到了原因,是series 数据中yAxisIndex 没有对应上导致的echart 是这样介绍的这个解释个人感觉不太明了,查了其他资料找到了解释yAxisIndex默认值为0,不填或者为零均表示第一个Y轴,1代表第二个Y轴更改代码 series: [ ..._pyecharts坐标标签混乱

面试官:UDP 和 TCP 高频面试题_tcp相关面试-程序员宅基地

文章浏览阅读1.1k次。找工作面试,经常会被问到 UDP 和 TCP,今天给大家总结其中的核心高频面试题,再有面试官问你相关的知识点,看这篇就够了!PS:文章有点长,请耐心阅读。目录:1、UDP 和 TCP 的特点与区别2、UDP 、TCP 首部格式3、TCP 的三次握手和四次挥手4、TCP 的三次握手(为什么三次?)5、TCP 的四次挥手(为什么四次?)6、TCP 长连接和短连接的区别7、TCP粘包、拆包及解决办法8、TCP 可靠传输9、TCP 滑动窗口10、TCP 流量控制11、TCP 拥塞控制12、提供网络利用率前言网络层只_tcp相关面试

上海交通大学计算机考研复试 2010年(java)_考研复试java的-程序员宅基地

文章浏览阅读239次。问题一:题目描述对于一个字符串,将其后缀子串进行排序,例如grain 其子串有: grain rain ain in n 然后对各子串按字典顺序排序,即: ain,grain,in,n,rain输入描述:每个案例为一行字符串。输出描述:将子串排序输出示例1输入grain输出aingraininnrainimport java.io.*;import ja..._考研复试java的

#实验 2-2 帧中继配置_帧中继手动映射-程序员宅基地

文章浏览阅读1.1k次。实验 2-2 帧中继配置学习目标 掌握用户边缘设备(CE)上帧中继接口的配置方法 掌握Hub-Spoke网络中RIP的配置方法 掌握Hub-Spoke(NBMA)网络中OSPF的配置方法 掌握点到多点网络中OSPF的配置方法场景企业的总部和部分分支之间仍使用帧中继网络互连,作为企业的网络管理员,您需要在总部和分支的边缘路由器上配置帧中继功能,并配置本地DLCI与IP地址间的..._帧中继手动映射

推荐文章

热门文章

相关标签