让jquery插件支持AMD和CMD规范

jquery插件支持AMD和CMD规范的改造:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
;function(root, factory) {
"use strict";
if (typeof define === 'function' && (define.amd || define.cmd)) {

// register as anon module
define(['jquery'], factory);

} else {

// invoke directly
factory( (typeof(jQuery) != 'undefined') ? jQuery : window.Zepto );

}
}(this, function($){
'use strict';

// your code

});

js验证只能输入数字

js验证只能输入数字函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function parseNumber(value) {
// 替换非数字值
value = value.replace(/[^\d.]/g, '');
// 替换第一位为.
value = value.replace(/^\./g, '');
// 替换最后一位为.
value = value.replace(/\.$/g, '');
// 替换连续.+
value = value.replace(/\.{2,}/g, '.');
// .号前只能有一个0
value = value.replace(/^0+\./g, '0.');
// 保留一个.,替换其它的.
value = value.replace('.', '$#$').replace(/\./g, '').replace('$#$', '.');
return value;
}

javascript获取浏览器视口大小

1
2
3
4
5
6
7
8
9
10
11
12
13
function getViewport() {
if(document.compatMode == 'BackCompat'){
return {
width: document.body.clientWitdh,
height: document.body.clientHeight
}
} else {
return {
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight
}
}
}

javascrit常见排序算法

总结一下javascrit常见排序算法。

冒泡排序(Bubble Sort)

冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。

a标签伪类顺序

a标签的link、visited、hover、active通常的顺序为:

1
2
3
4
a:link {color: #000;} /* 未访问的链接 */
a:visited {color: #F00;} /* 已访问的链接 */
a:hover{color: #0F0;} /* 鼠标在链接上 */
a:active {color: #00F;}

src和href的区别

href(Hypertext Reference)指定网络资源的位置,从而在当前元素或者当前文档和由当前属性定义的需要的锚点或资源之间定义一个链接或者关系。

src(Source)属性仅仅嵌入当前资源到当前文档元素定义的位置。

两者最大的区别在于src在浏览器下载,编译,执行这个文件之前页面的加载和处理会被暂停;而href页面解析不会暂停。

href是与资源建立关系,src是用资源替换到当前位置