如果你还不知道 SASS 和 COMPASS 是什么,可以参看 http://sass-lang.com 和 http://compass-style.org,近期可能会更新一篇介绍性的入门教程,但是本文只是安装使用教程,不包含介绍信息。
Category Archive: 前端开发
jQuery1.7 源码学习笔记 0
最近开始读jQuery源码,并打算将所思所学记录下来。阅读顺序是从易到难,先读简单的,把event和core这样的大块头留到最后。
顺带一提,源码下载地址为:https://github.com/jquery/jquery/downloads。
今天先分析最外层的闭包,最外层的闭包代码在 intro.js 和 outro.js 这两个文件内,一个头一个尾。代码如下:
(function( window, undefined ) {
//jQuery 代码....
})( window );
可以看到 window 对象被作为参数传入,这种方式可以减少解析变量 window 时查询作用域链的深度,有助于提升性能。很多 jQuery 插件也是以这种方式把 jQuery 对象传入闭包内部的。
还有一个声明后未被传值的参数 undefined。由于 undefined 被设计成一个全局变量而不是关键字,所以 undefined 是可以被赋值的,为避免使用被污染的全局变量 undefined 而导致 bug,所以在闭包作用域里产生一个名为 undefined 的未被赋值的参数(未被赋值的变量其值为 undefined 的默认值)正好不过。
下一篇内容为 data 模块。
标签:jQuery
Posted on 2011-11-30
优雅的 IE 条件注释新用法
<link rel="stylesheet" href="css/style.css" />
<!--[if IE]><link rel="stylesheet" href="css/ie.css" /><![endif]-->
<!--[if IE 6]><link rel="stylesheet" href="css/ie6.css" /><![endif]-->以上代码大家应该都了解,对蛋疼的 IE 使用额外的样式表解决蛋疼的 IE 兼容性问题。
这种方案有2个缺点:
- 对 IE 用户会增加请求数量,影响访问速度;
- 一个元素的样式存放在几个地方,不便于维护,容易出错。
所以大型网站都不会使用这个方案,要么一个通用样式表搞定,要么注释不会产生请求的内嵌样式表。
那么还有更好的方法么? (更多…)
谈谈对 jQuery Templates 的管理
jQuery Templates 是一个 jQuery 的官方插件,中文叫 jQuery 模板,用途是简化 data to html 操作。说明不如演示,看下例:
<ul id="movieList"></ul>
<script id="movieTemplate" type="text/x-jquery-tmpl">
<li><b>${Name}</b> (${ReleaseYear})</li>
</script>
<script type="text/javascript">
var movies = [
{ Name: "The Red Violin", ReleaseYear: "1998" },
{ Name: "Eyes Wide Shut", ReleaseYear: "1999" },
{ Name: "The Inheritance", ReleaseYear: "1976" }
];
// Render the template with the movies data and insert
// the rendered HTML under the "movieList" element
$( "#movieTemplate" ).tmpl( movies )
.appendTo( "#movieList" );
</script>发现端倪没?有个 script 的 type 居然是 text/x-jquery-tmpl,恩,这就是模板了。 (更多…)
标签:jQuery
Posted on 2011-05-14
拥抱 HTML5
最近读了为之漫笔翻译的《HTML5 设计原理》,让我对这一规范有了全新的认识。
原本我以为:
- HTML5 不过是添加一些新元素、新属性和新特性而已;
- HTML5 鼓励不严谨的编码风格;
- 现在支持 HTML5 还为时过早。
我错了,HTML5 确实是一个伟大的规范,她的伟大之处在于她的设计基于一个理念:求真务实。她着力于解决实际问题而不是构建理想的乌托邦。
(更多…)