1.事件总结

鼠标事件

var box = document.querySelect('.box')
// 1.点击事件
box.onclick = function(){
console.log('单击');
};
// 2.双击事件(应用场景不广)
box.ondblclick = function(){
cosole.log("双击")
}
// 3.鼠标右键
box.oncintextment = function(){
console.log("右键了")
return false;
};
// 4.鼠标悬浮 | 移动 | 按下 | 抬起 | 离开
box.onmouseover = function(){
console.log("悬浮");
};
box.onmousemove = function(){
console.log("移动");
);
box.onmousedown = function(){
console.log("按下");
};
box.onmouseup = function(){
console.log("抬起")
};
box.onmouseout = function(){
console.log("离开");
};

over | out vs enter | leave

总结:

  1.将子级与父级分开考虑,大家都有各自的悬浮离开事件,采用 over | out组合

  2.将子级纳入父级考虑范围,也就是只有父级取相应悬浮离开事件,采用enter | leave组合

  3.单独考虑一个盒子的悬浮离开事件,两套均可以

特性:

  从父级移至子级,会触发out事件,紧接着触发子级的over事件,并可以冒泡给父级

  从父级移至子级,leave事件并不会触发,它认为子级是属于父级的一部分,enter事件,也不     会再次触发

悬浮子级:

  sub over => sup over 支持冒泡

  sub enter =>sub enter 不支持冒泡

键盘事件

  onkeydown: 键盘按下会触发,长按会持续触发

  onkeup: j键盘抬起会触发

  ev.keyCode:按下的键盘键的标号

其他事件

  window.onload:页面加载完毕触发

  window.onscroll | document.onscroll => window.scrollY(页面下滚距离):页面滚动触发

二.js盒模型

content:通过计算后样式获取
padding + content + content:box.offsetWidth | box.offsetHeight
绝对定位top|left:box.offsetTop | box.offsetLeft

三.动画

定时器

// 一次性定时器
var timeout = setTimeout(function(a,b){},1000,10,20); // 持续性定时器
var timer = setInterval(function(a,b){},1000,10,20); // 清除定时器
// clearTimeout | clearInterval // 结论:
// 1.定时器刽立即执行
// 2.一次定时器只能执行一次,持续性定时器不做清除的话会一直执行
// 3.声明定时器第一个参数为逻辑函数地址,第二个参数为事件间隔,第三个为逻辑函数所需要参数(可以为多个,一般省略)
// 4.清除定时器可以混用,本质就是清除创建定时器的数字标号,该编号激素是创建定时器的返回值 // 小技巧:如果页面中有n个定时器
var n = setTimeout(function(){},1);
for (var I = 1;i <n; I++){
clearInterval(i)
}

第六十七天 js动画的更多相关文章

  1. 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM

    JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...

  2. 【06-23】js动画学习笔记01

    <html> <head> <style> * { margin:0; padding:0; } #div1{ width:200px; height:200px; ...

  3. css动画与js动画的区别

    CSS动画 优点: (1)浏览器可以对动画进行优化.   1. 浏览器使用与 requestAnimationFrame 类似的机制,requestAnimationFrame比起setTimeout ...

  4. CSS VS JS动画,哪个更快[译]

    英文原文:https://davidwalsh.name/css-js-animation 原作者Julian Shapiro是Velocity.js的作者,Velocity.js是一个高效易用的js ...

  5. JS动画理论

    动画(Animation) 动画意味着随着时间而变化,尤其指视觉上的变化,包括位置.形态等的变化.运动基本上表现为物体随时间,发生位置上的变化:形态基本表现为大小.颜色.透明度.形状等随时间的变化. ...

  6. css与 js动画 优缺点比较

    我们经常面临一个抉择:到底使用JavaScript还是CSS动画,下面做一下对比 JS动画 缺点:(1)JavaScript在浏览器的主线程中运行,而主线程中还有其它需要运行的JavaScript脚本 ...

  7. [学习笔记]js动画实现方法,作用域,闭包

    一,js动画基本都是依靠setInterval和setTimeout来实现 1,setInterval是间隔执行,过一段时间执行一次代码 setInterval(function(){},500);即 ...

  8. css3动画与js动画的一些理解

    http://zencode.in/19.CSS-vs-JS%E5%8A%A8%E7%94%BB%EF%BC%9A%E8%B0%81%E6%9B%B4%E5%BF%AB%EF%BC%9F.html 首 ...

  9. Bootstrap入门(二十七)JS插件4:标签页

    Bootstrap入门(二十七)JS插件4:标签页 标签页的切换可以带动内容的变化 首先我们引入CSS文件 <link href="bootstrap.min.css" re ...

随机推荐

  1. IBM Watson启示录:AI不应该仅仅是炫技

    IBM Watson启示录:AI不应该仅仅是炫技 https://mp.weixin.qq.com/s/oNp8QS7vQupbi8fr5RyLxA                         导 ...

  2. 微信小程序(三)页面跳转和图片滑动切换

    跳转部分: 在index2.wxml中,添加跳转函数,如下所示:

  3. ASP.NET Zero--前端应用程序

    前端应用程序 ASP.NET Zero包含可以作为您的公共网站或应用程序着陆页的起点的前端页面.首次运行项目时,您会看到主页如下所示: 这里有两页:主页和关于.这些页面的内容只是占位符和演示目的.您可 ...

  4. 【转载】IIC SPI UART串行总线

    一.SPISPI(Serial Peripheral Interface,串行外设接口)是Motorola公司提出的一种同步串行数据传输标准,在很多器件中被广泛应用. 接口SPI接口经常被称为4线串行 ...

  5. Windows操作系统分类

    Windows主要有桌面版和服务器版.移动版三个版本 桌面版现在主流是WindowsXP.WindowsVista.Windows7.Windows8.Windows10 其中WindowsXP已经被 ...

  6. flex布局justify-content属性和align-items属性设置

    前言: flex最常用的就是justify-content和align-items了,这里把这两个属性介绍下,大家更多关于flex布局可以查看阮一峰的日志,写的非常清楚! 阮一峰flex布局的日志:h ...

  7. canvas save()和canvas restore()状态的保存和恢复使用方法及实例

    canvas.save()用来保存先前状态的 canvas.restore()用来恢复之前保存的状态 注:两种方法必须搭配使用,否则没有效果 <!DOCTYPE html> <htm ...

  8. 3.20 总结 java程序流程控制

  9. ideal中把项目打成war包,并放在tomcat运行,遇见的问题。。。

    先说下我遇见的问题吧:最近做项目要把项目放在tomcat上运行,用的springboot框架, 在建项目时选择的是  jar包,项目写完要部署打包是,在pom中虽然把包改成了war ,可是每次放入to ...

  10. SQL NULL 函数

    SQL ISNULL().NVL().IFNULL() 和 COALESCE() 函数 请看下面的 "Products" 表: P_Id ProductName UnitPrice ...