a属性+DOM创建回流+动画运动+
超链接a的属性 href分析:
< a href = " " > 点击刷新页面,相当于向后台发送了一次请求
< a href = " # " > 锚点跳转,跳到叫ID为。。的位置上
< a href = " Javascript:; " > 取消刷新页面
拓展:
字符串拼接和DOM创建都是渲染的方式
字符串拼接:
优:简单,层次感强,可以处理大量数据
缺:影响到原有子元素的事件
DOM创建:
优:是一个独立的个体,不会影响到原有元素
缺:处理数据量过大比较麻烦,造成DOM回流
DOM回流:
页面渲染时,我们对HTML结构简单的增删查改时
浏览器会对所有DOM进行重新排列,严重影响浏览器性能
提升浏览器性能优化:
多采用雪碧图;
阻止超链接的默认行为
减少DOM回流
减少向服务器的请求次数
动画——
1,css样式提供了运动
过渡属性 transition,从一种情况到另一种情况叫过渡
transition:attr liner delay
attr:是变化的属性
time:是花费的时间
linear:是变化的过渡
delay:是延迟
2,js提供的运动
元素client,offset,scroll三个系列:
clientWidth;clientHeight;clientTop;clientLeft
offsetWidth;offsetHeight;offsetTop;offsetLeft;offsetParent
scrollWidth;scrollHeight;scrollTop;scrollLeft
十三个属性,前面是一个只读属性,scrollTop;scrollLeft 可读可写
scrollTop;scrollLeft最小值是 0
获取body整个文档的高:
document.body.scrollHeight || document.documentElement.scrollHeight
获取浏览器一屏幕的高(浏览器可视区):
document.body.clientheight || document.documentelement.clientheight
window下的两个事件:
onscroll 当滚动条滚动时触发
onresize 当窗口发生改变时触发
a属性+DOM创建回流+动画运动+的更多相关文章
- JavaEE XML DOM创建
DOM创建XML @author ixenos 1.思路: 先封装构建一颗DOM树,然后将DOM树转换成XML文件 2.三种写DOM树到XML文件的方式: 1)使用DOM(或DOM4J.JDOM) 2 ...
- 创建帧动画1 - xml方式
废话不多说,先看东西 创建帧动画1 - xml方式 帧动画的创建方式主要以下2种: * 用xml创建动画: * 用代码创建动画: 本文内容主要关注 xml文件 创建帧动画的方式 xml文件 ...
- PHP中利用DOM创建xml文档
DOM创建xml文档 用dom创建如下文档: <booklist> <book id="1"> <title>天龙八部</title> ...
- Unity 2D骨骼动画2:创建真实动画
http://bbs.9ria.com/thread-401781-1-1.html 在这个系列,我们将关注Unity引擎提供的基于骨骼动画工具.它的主要思想是为了把它应用到你自己的游戏来介绍和教基本 ...
- css 12-CSS3属性详解:动画详解
12-CSS3属性详解:动画详解 #前言 本文主要内容: 过渡:transition 2D 转换 transform 3D 转换 transform 动画:animation #过渡:transiti ...
- Web动画API教程1:创建基本动画
本人转载自: Web动画API教程1:创建基本动画
- 解决浏览器background-image属性不支持css3动画
问题 最近在使用background-image属性来实现css3的逐帧动画时,碰到了个问题.在chrome浏览器上,background-image属性是支持css3动画的,但是到了firefox上 ...
- 练习:javascript-setInterval动画运动平移,定时器动画练习
常见问题:定时器加速问题,每次点击会启动一个定时器,解决先清除定时器 <!DOCTYPE html> <html lang="en"> <head&g ...
- Scrollanim – CSS3 & JavaScript 创建滚动动画
Scrollanim 是结合 CSS3 和 JavaScript 来创建令人惊叹的滚动动画的开源库. Scrolanim 支持在页面上的所有可用的元素的位置.有很多的自定义参数可以配置使用,构建出精彩 ...
随机推荐
- 数据结构 - 链栈的实现 C++
链栈封装 C++ 使用C++对链栈进行了简单的封装,实现了栈的基本操作 封装方法: pop(),top(),size(),empty(),push() 代码已经过测试 #pragma once #in ...
- VMware下安装Ubuntu虚拟机
ubuntu系统是以桌面应用为主的.当下最火的linux操作系统,具有实用的界面,并且完全免费. 在Ubuntu的 Linux 世界里,已经不再只是简陋的界面+命令行,而是一款华丽时尚且无比实用的操作 ...
- Linux中的会话与作业
- java 构造方法+this+super
构造方法的格式: 修饰符 构造方法名(参数列表) { } 构造方法的体现: 构造方法没有返回值类型.也不需要写返回值.因为它是为构建对象的,对象创建完,方法就执行结束. 构造方法名称必须和类名保持 ...
- 异常DBG_PRINTEXCEPTION_C(0x40010006)和DBG_PRINTEXCEPTION_WIDE_C(0x4001000A)
简介 DBG_PRINTEXCEPTION_C,代码0x40010006:DBG_PRINTEXCEPTION_WIDE_C,代码0x4001000A:在调试器的控制台窗口打印异常信息/调试信息.它定 ...
- [Python] Python 获取中文的首字母 和 全部拼音首字母
Python 获取中文的首字母 和 全部拼音首字母 代码如下: import pinyin def getStrAllAplha(str): return pinyin.get_initial(str ...
- NOIp初赛题目整理
NOIp初赛题目整理 这个 blog 用来整理扶苏准备第一轮 csp 时所做的与 csp 没 有 关 系 的历年 noip-J/S 初赛题目,记录了一些我从不知道的细碎知识点,还有一些憨憨题目,不定期 ...
- C实现Linux之touch命令
Linux 的 touch 命令用来修改文件时间戳,或者新建一个不存在的文件,使用方式如下: touch [-acm][-r ref_file(参照文件)|-t time(时间值)] file(文件名 ...
- CSS 分割线
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- python: 添加自定义模块路径 —— 可以使用相对路径
自定义模块时,添加模块路径: sys.path.append('..')