5.JavaScript优化及导航菜单背后的秘密
JavaScript优化及导航菜单背后的秘密 伍星
学习目标
1.进一步了解前端优化
学习如何编写良好的 JavaScirpt
2.通过导航的学习,了解JavaScirpt的应用
JavaScript在用户体验优化的实现中起着至关重要的作用
3.前端开发相关的工具和手段了解
了解JavaScript开发相关的工具和手段
目录 CONTENTS
1 回顾:HTML语义、CSS高级
2 编写高效的 JavaScript
3 认识导航菜单及其开发
4 导航菜单的性能加速
5 破解牛X导航菜单的秘密
5 JS的调试、压缩、混淆与破解
第一章:回顾:HTML语义、CSS高级
1 HTML语义
①网页的原理
人类看到的网页是文字和图片,计算机看到的网页是代码
②HTML语义
有些招聘要求:"深刻理解WEB标准..."
③语义例子
如何才能便于计算机理解你的代码
<p><b>优才网</b>的目标是:造就全栈工程师、成就未来CTO</p>
<p><strong>优才网</strong>的目标是:造就全栈工程师、成就未来CTO</p>
<div>全栈工程师</div>与
<span style="display:block">全栈工程师</span>
选择题
哪个是予以花的HTML结构的好处? C
A.样式丢失的时候能让页面呈现清晰的结构
B.便于不支持CSS的设备根据你的标记来"读"你的网页(比如盲人用的上网工具)
C.利于搜索引擎的爬虫抓取,爬虫依赖与语义标记来确定上下文和各个关键字的权重。
D.对浏览器兼容性更好
E.便于团队开发和维护
1 CSS渲染顺序
用一个例子来体验一下
html
head title "Web p..."
body div
h1 "Web p..."
p "This..."
1、渲染的顺序是从上到下
2、边下载边渲染
3、开启单独连接去取资源
4、后面的定义覆盖前面的
5、Reflow 和 Repaint
2 CSS渲染原理
浏览器如何渲染
页面渲染就是浏览器将HTML代码根据CSS定义的规则显示在浏览器窗口中的这个过程
得出三点CSS优化原则:
A、CSS放顶部
B、使用Sprite减少数据连接
C、JS的DOM操作优化原则
2 语言本身的注意事项
① 避免无意义的计算
②尽可能减少计算
③避免使用全局变量
④始终声明局部变量、无意识的全局变量是灾难
调试js "use strict"
④ 如何检测 isNaN
⑤ 了解坑、多少中 false, with 慎用?
⑥ 语句末最好加入分号
⑦ 字符窜拼接何为高效、没有固定范式
1 、 最大的性能问题,在于 DOM 操作
① 要使用高效的选择器
① 取 20000 次的对比
② 将选择器结果保存成为局部变量
① 取20000次的对比
③ 先操作再显示(想想渲染原理)
④ 先组装再附加到 DOM 上去
⑤减少页面 DOM 节点数
⑥ 将事件绑定与操作延迟
5.JavaScript优化及导航菜单背后的秘密的更多相关文章
- Javascript导航菜单13则
来源:http://www.noupe.com/ajax/13-awesome-java-script-css-menu.html翻译:http://parandroid.com下面为你准备了13个利 ...
- JavaScript实战(带收放动画效果的导航菜单)
虽然有很多插件可用,但为了共同提高,我做了一系列JavaScript实战系列的实例,分享给大家,前辈们若有好的建议,请务必指出,免得误人子弟啊! ( 原创文章,转摘请注明:苏福:http://www. ...
- JavaScript(获取或设置html元素的宽,高,坐标),确定和判断鼠标是否在元素内部,二级导航菜单鼠标离开样式问题解决
设置: document.getElementById('id').style.width=value document.getElementById('id').style.height=va ...
- Smint – 用于单页网站制作的 jQuery 导航菜单插件
Smint 是一款用于实现单页风格网站的 jQuery 导航插件,包含两部分:固定在页面顶部的精美导航条和能够在你点击的时候自动滚动到对应内容的菜单按钮.Smint 使用非常简单,只有一个参数用于设置 ...
- Blogs实现导航菜单
#1.隐藏默认导航菜单 #header{display:none;} /*在页面定制CSS里面最前面添加如下代码,最好添加在最前面*/ #2.添加页首html代码 <!-- 添加博客导航栏信息开 ...
- php后管理分类导航菜单
<!DOCTYPE> <html> <head> <meta http-equiv="Content-type" content=&quo ...
- 使用 jQuery 和 CSS3 制作滑动导航菜单
这个下拉菜单可以让你的网站非常优雅,滑动框导航效果令人印象深刻.此外,子菜单框也可以与此集成起来以使其更具吸引力.导航是网站成功的关键之一,有吸引力的导航能够引导用户浏览网站中的更多内容. 效果演示 ...
- jq倾斜的动画导航菜单
效果预览网址:http://keleyi.com/keleyi/phtml/jqmenu/index.htm 支持IE.Chrome.火狐等浏览器 完整源代码,保存到HTML文件打开也可查看效果: & ...
- jquery和css3实现滑动导航菜单
效果预览:http://keleyi.com/keleyi/phtml/html5/15/ 有都中颜色可供选择,请使用支持HTML5/CSS3的浏览器访问. HTML源代码: <!DOCTYPE ...
随机推荐
- linux下ftp、telnet的安装和使用
1.ftp的安装和使用 一般在各种linux的发行版中,默认带有的ftp软件是vsftp. 使用如下命令#rpm -qa | grep vsftpd可以检测出是否安装了vsftpd软件,如果没有安装, ...
- leetcode笔记:Ugly Number II
一. 题目描写叙述 Write a program to find the n-th ugly number. Ugly numbers are positive numbers whose prim ...
- iOS开发个人独立博客收集
如今国内技术博客站点有非常多,如CSDN,CNBlog,ITEye等.论坛的话主要是要cocachina. 这里是我收集的iOS开发个人独立博客,文章用搜索引擎比較难搜到,都是牛人: OneV's D ...
- es6 includes(), startsWith(), endsWith()
传统上,JavaScript 只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中.ES6 又提供了三种新方法. includes():返回布尔值,表示是否找到了参数字符串. sta ...
- .netMVC:Web页面向后台提交数据的方式和选择
众所周知Web前端页面主要由HTML/CSS/Javascript组成,当要通过与用户的交互实现各种功能时,就需要向后台提交一些数据或者操作.在Web世界里各种实现眼花缭乱,但究其根本,不外乎三种方式 ...
- CentOS中文乱码的问题
修改CentOS 6.4 root用户的系统默认语言设置 最近用Virtual Box 虚拟了一个CentOS系统,版本6.4,安装时使用简体中文.发现用普通用户登录的时候 设置语言环境为Englis ...
- 【Wechall.net挑战】Anderson Application Auditing
Wechall.net是一个国外用于练习CTF和攻防的网站,国内资料writeup不多,只有个别几篇.作为小白,近日玩了几道有意思的题目,在此分享 题目地址:http://www.wechall.ne ...
- ios面试基础
1.#import和#include的差别 @class? @class一般用于头文件里须要声明该类的某个实例变量的时候用到,在m文 件中还是须要使用#import 而#import比起#includ ...
- JVM学习02-GC算法与种类
1. GC 简单介绍 GC(Garbage Collection) 是垃圾收集的简写,GC机制是java中一个比較重要的概念.java的内存管理提供了内存的分配和释放.内存处理是程序编写人员非常eas ...
- Django之sitemap
##########settings.py SITE_ID=1 # Application definition # taggit tag INSTALLED_APPS = [ 'myblog', ' ...