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 ...
随机推荐
- 11G在用EXP导出时,空表不能导出
11G中有个新特性,当表无数据时,不分配segment,以节省空间 解决方法: 1.insert一行,再rollback就产生segment了. 该方法是在在空表中插入数据,再删除,则产生segmen ...
- dedecms调用文章发布日期
<span>[field:pubdate function="MyDate('m-d',@me)"/]</span>
- C 递归 递归指的是在函数的定义中
C 递归 递归指的是在函数的定义中使用函数自身的方法. 举个例子:从前有座山,山里有座庙,庙里有个老和尚,正在给小和尚讲故事呢!故事是什么呢?"从前有座山,山里有座庙,庙里有个老和尚,正在给 ...
- java查看工具jhat-windows
Analyzes the Java heap. This command is experimental and unsupported. Synopsis jhat [ options ] heap ...
- 数据结构基础-Hash Table详解(转)
理解Hash 哈希表(hash table)是从一个集合A到另一个集合B的映射(mapping). 映射是一种对应关系,而且集合A的某个元素只能对应集合B中的一个元素.但反过来,集合B中的一个元素可能 ...
- Scanner遇上UnmappableCharacterException
上周末的时候.朋友约好去KTV,鉴于我这样的不怎么听歌的孩子伤不起啊,灵机一动就把我的酷狗歌单导出来了,XML文件嘛,内容太多,我仅仅想要歌名足已. 于是写了一个java去输出歌名. 岂料我受 ...
- EMMC电路设计
优秀文档: eMMC基础技术1:MMC简介 eMMC基础技术2:eMMC概述 一:供电电源时序 EMMC的供电有两种模式,且分两路工作,有VCC和VccQ.在规范上,上电时序是有要求的,如下图所示. ...
- linux下的显示有中国农历的日历ccal
1.linux下的显示有中国农历的日历ccal
- 使用T4模板为EF框架添加数据库实体注释
网上有一个解决方法如下: http://www.cnblogs.com/stone_w/archive/2012/10/25/2738345.html 不过我试了下没解决太麻烦了 而且一旦EF要重新生 ...
- lombok插件安装
eclipse安装lombok插件 lombok注解介绍 记得最后,加入的配置文件中的jar包,最好写成相对路径,这样.eclipse移动位置后,不会报错.