第六十七天 js动画
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动画的更多相关文章
- 前端(十六)—— JavaScript盒子模型、JS动画、DOM、BOM
JS盒子模型.JS动画.DOM.BOM 一.JS盒模型 1.width | height parseInt(getComputedStyle(ele, null).getPropertyValue(' ...
- 【06-23】js动画学习笔记01
<html> <head> <style> * { margin:0; padding:0; } #div1{ width:200px; height:200px; ...
- css动画与js动画的区别
CSS动画 优点: (1)浏览器可以对动画进行优化. 1. 浏览器使用与 requestAnimationFrame 类似的机制,requestAnimationFrame比起setTimeout ...
- CSS VS JS动画,哪个更快[译]
英文原文:https://davidwalsh.name/css-js-animation 原作者Julian Shapiro是Velocity.js的作者,Velocity.js是一个高效易用的js ...
- JS动画理论
动画(Animation) 动画意味着随着时间而变化,尤其指视觉上的变化,包括位置.形态等的变化.运动基本上表现为物体随时间,发生位置上的变化:形态基本表现为大小.颜色.透明度.形状等随时间的变化. ...
- css与 js动画 优缺点比较
我们经常面临一个抉择:到底使用JavaScript还是CSS动画,下面做一下对比 JS动画 缺点:(1)JavaScript在浏览器的主线程中运行,而主线程中还有其它需要运行的JavaScript脚本 ...
- [学习笔记]js动画实现方法,作用域,闭包
一,js动画基本都是依靠setInterval和setTimeout来实现 1,setInterval是间隔执行,过一段时间执行一次代码 setInterval(function(){},500);即 ...
- 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 首 ...
- Bootstrap入门(二十七)JS插件4:标签页
Bootstrap入门(二十七)JS插件4:标签页 标签页的切换可以带动内容的变化 首先我们引入CSS文件 <link href="bootstrap.min.css" re ...
随机推荐
- 【代码笔记】Web-JavaScript-JavaScript void
一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...
- EFCore使用JSON_VALUE查询json对象的值
EFCore使用JSON_VALUE查询json对象的值 Intro SqlServer 从2016开始支持 JSON 操作,可以使用 JSON_VALUE 查询 JSON 对象的某个属性值,更多介绍 ...
- Mysql学习路线
本文内容: mysql学习路线 首发日期:2018-04-19 由于现在很多都是有api了,很多问题都转接到编程语言上来处理了,所以这篇mysql之路仅仅是作为“了解”之用.不深究mysql. 很多东 ...
- python 通过元类控制类的创建
一.python中如何创建类? 1. 直接定义类 class A: a = 'a' 2. 通过type对象创建 在python中一切都是对象 在上面这张图中,A是我们平常在python中写的类,它可以 ...
- 挖一挖MongoDB的备份与还原(实现指定时间点还原和增量备份还原)
一 研究背景需求 目前作者所在公司的MongoDB数据库是每天凌晨做一次全库完整备份,但数据库出现故障时,只能保证恢复到全备时间点,比如,00:30 做的完整备份,而出现故障是下午18:00,那么现 ...
- 【原】Java学习笔记004 - 运算符
package cn.temptation; public class Sample01 { public static void main(String[] args) { // 运算符:对常量 或 ...
- AD域安装及必要设置
本文主要介绍AD域的安装和程序开发必要的设置. 一.安装AD域 运行dcpromo命令,安装AD域. 步骤: 1.win+R 2.dcpromo 图例: 百度百 ...
- 【Teradata Utility】使用SQL Assistant导出导入数据
1.导出 (1)选择菜单栏File,点击Export Results,输入导出数据的SQL: select * from etl_data.soure_table; (2)选择导出数据格式为txt或h ...
- Linux 内核空间与用户空间
本文以 32 位系统为例介绍内核空间(kernel space)和用户空间(user space). 内核空间和用户空间 对 32 位操作系统而言,它的寻址空间(虚拟地址空间,或叫线性地址空间)为 4 ...
- parquet文件 读取 原理
学习一下parquet存储结构 原理 以及使用