speed

当我们尝试用JavaScipt测网速

自作多情 提交于 2019-11-27 14:53:02
npm包地址 https://www.npmjs.com/package/network-speed-test Github地址 https://github.com/penghuwan/network-speed-test 事情是这样的,最近尝试写一个通过判断当前网速,从而在前端控制范围请求去分步请求一个大型文件的库。这个东东我现在一行代码都还没写,除了突然发现这个需求的思路有些不太实际之外,另一个原因是我突然问自己—— 前端尼玛要怎么判断网速啊?? ? ! 前端判断网速的原理总结 (注:下面求的网速单位默认为 KB/S ) 通过查阅相关资料,我发现思路主要是分为以下几种: 1.通过img加载或者发起Ajax请求计算网速 通过请求一个和服务端同域的文件,例如图片等,在前端开始请求和收到响应两个时间点分别通过Date.now标记start和end,因为Date.now得出的是1970年1月1日(UTC)到当前时间经过的毫秒数,所以我们通过end - start求出时间差(ms),然后通过计算: 文件大小(KB) * 1000 /( end -start ) 就可以计算出网速了(KB/S)。 而请求文件又有两种方法:通过img加载或者AJAX加载: 通过创建img对象,设置onload监听回调,然后指定src, 一旦指定src,图片资源就会加载,完成时onload回调就会调用

jQuery效果--隐藏和显示

二次信任 提交于 2019-11-27 12:12:48
jQuery hide() 和 show() 通过 jQuery,您可以使用 hide() 和 show() 方法来隐藏和显示 HTML 元素: $("#hide").click(function(){ $("p").hide(); }); $("#show").click(function(){ $("p").show(); }); 语法: $(selector).hide(speed,callback); $(selector).show(speed,callback); 可选的 speed 参数规定隐藏/显示的速度,可以取以下值:"slow"、"fast" 或毫秒。 可选的 callback 参数是隐藏或显示完成后所执行的函数名称。 下面的例子演示了带有 speed 参数的 hide() 方法: 实例 $("button").click(function(){ $("p").hide(1000); }); jQuery toggle() 通过 jQuery,您可以使用 toggle() 方法来切换 hide() 和 show() 方法。 显示被隐藏的元素,并隐藏已显示的元素: 实例 $("button").click(function(){ $("p").toggle(); }); 语法: $(selector).toggle(speed,callback); 可选的

js 动画滚动到指定位置 ES6

余生长醉 提交于 2019-11-27 09:40:49
### 开始 ### 写一个自动滚动过度到指定位置的一个函数 通过Class进行封装 /** * 滚动动画过度 * @param {Object} position 定位(只支持Y轴) * @param {Number} delay 单位毫秒 default 200 * @param {Number} speed 单位毫秒 default 10 * 误差:滚动距离越短误差越小 */ export class AnimationScrollTop { constructor (position, delay = 200, speed = 10) { this.position = position this.delay = delay this.speed = speed this.step = this.delay / this.speed this.dimension = this.position.y / this.step this.thisTop = window.pageYOffset this.delayt = this.thisTop this.upOrDown = this.thisTop > this.position.y this.delays = null // 初始化 this.init() } init () { this.delays =

javascript链式运动框架案例

别等时光非礼了梦想. 提交于 2019-11-27 02:48:08
javascript链式运动框架 任务描述: 当鼠标移入红色矩形时,该矩形宽度逐渐增加至400px,之后高度逐渐增加至400px; 当鼠标移出红色矩形时,该矩形高度逐渐减小至200px,之后宽度逐渐减小至200px。 效果图: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <title>JS小案例:多物体变宽</title> <style> body { height: 2000px; margin: 0px; } div { width: 200px; height: 200px; background: red; margin: 10px; } </style> <script> window.onload = function () { //补充代码 } </script> </head> <body> <div id='div1'></div> </body> </html>    参考代码: oDiv1 = document.getElementById('div1'); oDiv1.onmouseover = function () { startMove(oDiv1, 'width', 400, function () { startMove(oDiv1, 'height', 400

jQuery 基础学习笔记

╄→гoц情女王★ 提交于 2019-11-26 22:17:15
1. jQuery 的执行时间: $(document).ready( function (){ --- jQuery functions go here ---- // 保证当文档对象加载完成后,进行元素事件处理函数的绑定 }); jQuery 是基于事件相应机制进行处理的,为给定元素的事件绑定事件处理函数,当事件发生时,触发相关的函数。 2. 常用 函数 a.元素效果(隐藏和显示) // 语法: $(selector).hide(speed,callback); // 隐藏元素;speed :"slow"、"fast" 或毫秒 ms 数值, callback:回调函数名 $(selector).show(speed,callback); // 显示元素;speed :"slow"、"fast" 或毫秒 ms 数值, callback:回调函数名 $(selector).toggle(speed,callback); // 隐藏显示的元素,显示隐藏的元素;speed :"slow"、"fast" 或毫秒 ms 数值, callback:回调函数名 $(selector).fadeIn(speed,callback); //淡入效果显示被隐藏的元素; speed :"slow"、"fast" 或毫秒 ms 数值, callback:回调函数名 $(selector).fadeOut

第548篇--设计模式系统-ProtoType

陌路散爱 提交于 2019-11-26 21:34:00
Enemy类是抽象原型,它有两个用途,一是定义了原型的一些抽象内容,二是定义了原型模式必须的拷贝方法。在这里,我们看到,每个敌人的属性有位置、攻击力、速度等,并且能通过ShowInfo()方法来获取这个人的信息。 Clone()方法接受一个参数,表示是否是深拷贝。在这里,我们通过 序列化反序列化实现深拷贝,深拷贝实现对象的完整复制 ,包括对象内部的引用类型都会复制一份全新的。在这里,如果3个敌人对象的Location都指向内存同一个地址的话,那么它们就分不开了,因此,在复制的时候需要进行深拷贝,使得它们的Location是独立的。 注:试一下把MemberwiseClone, 然后改动各自的position,看是不是会改动? 如果改成MemberwiseClone, 则所有的对象引用同一个地址,对一个对象的改动,会影响所有对象。 在初始化Enemy的时候,我们Sleep()了一下,目的是模拟对象的创建是一个非常耗时的工作,这也体现了原型模式的另一个优势,在生成敌人的时候,我们其实无需再做这些工作了,我们只需要得到它的完整数据,并且进行一些修改就是一个新的敌人。 运行程序后可以看到,虽然创建了三个敌人,但是只耗费了一个敌人的创建时间,三个敌人都是从原型克隆出来的。由于进行了深拷贝,修改了一个敌人的位置并不会影响其它敌人。 运行程序,发现,确是只调用了一次Sleep方法

tools.js

不想你离开。 提交于 2019-11-26 19:51:14
//1.简单动画 /*尝试构造一个可以执行简单动画的函数 * -参数: * obj:要执行动画的对象 * attr:要执行动画的样式,如left top width height * target:执行动画的目标位置 * speed:移动的速度(正数右移,负数左移) * callback:回调函数,这个函数会在动画执行完毕以后执行 */ //move(imgList,"left",-320*index,20,function(){ // // }); function move(obj, attr, target, speed, callback) { //关闭上一个定时器,防止加速 clearInterval(obj.timer); //获取元素目前的位置 var current = parseInt(getStyle(obj, attr)); //判断速度的正负 //如果从0到800移动,则speed为正,800到0移动,为负 if(current > target) { //此时speed为负 speed = -speed; } //-开启一个定时器,来执行动画效果 obj.timer = setInterval(function() { //获取目标原来的left值 var oldValue = parseInt(getStyle(obj, attr)); /

oracle-sql语句练习

倖福魔咒の 提交于 2019-11-26 06:07:12
1.查询所有speed大于2.8的PC信息 select * from pcs where speed > 2.8 2.查询购买model为1007的购买记录信息 select * from sales where model = 1007 3.统计2013-12-20购买记录的数量(count) select count(*) from sales where sday=to_date('2013-12-20', 'yyyy-mm-dd') 4.统计2013-12-20购买的总数量(sum) select sum(quantity) from sales where sday = to_date('2013-12-20', 'yyyy-mm-dd') 5.查询硬盘大小出现在两种以上PC电脑上的硬盘大小 select hd from pcs group by hd having count(*) >= 2; 6.查询速度至少3.00以上的PC models信息 select model from pcs where speed >= 3.00; 7.查询哪个供应商供应laptops硬盘至少100GB以上的供应商信息 (1)等值连接 select products.* from products, laptops where products.model=laptops.model