Mo.js

Mo.js - 高效 JavaScript 函数库

Mo.$( id )

等同于 getElementById() 方法,可返回对拥有指定 ID 的第一个对象的引用

id 元素 ID ,字符串

Mo.$( "test" ).innerHTML;
Mo.ready( func )

页面 DOM 加载完毕后执行函数。

func 函数名称或匿名函数

func 可接受参数

time 加载 DOM 耗时,单位:毫秒,此值为估算值

Mo.ready( function( time ){ alert( '加载 DOM 花了' + time + '毫秒' ); } );

Mo.reader( func )

页面完全加载完毕后执行函数。

func 函数名称或匿名函数

func 可接受参数

time 加载页面耗时,单位:毫秒,此值为估算值

Mo.reader( function( time ){ alert( '加载页面花了' + time + '毫秒' ); } );

Mo.resize( func )

页面尺寸变化后执行函数。

func 函数名称或匿名函数

Mo.resize( function(){ alert(''); } );

Mo.Template( id, data )

微型 JavaScript 模板引擎,它拥有缓存机制、支持使用原生的 JS 语法进行逻辑判断

id 元素 ID ,字符串

data 数据集,JSON

<script type="text/html" id="user_tmpl">
        链接总数:<%=users.length%>
        <% for ( var i = 0; i < users.length; i++ ) { %>
        <li><a href="<%=users[i].url%>"><%=users[i].name%></a> <%=(  i == users.length - 1 ? '*' : '' ) %></li>
        <% } %>
</script>

<div id="results"></div>

<script>	
        var dataObject = { users : [ { url : 'http://www.veryide.com/projects/mojs/', name : 'Mo.js' }, { url : 'http://www.veryide.com', name : 'VeryIDE' } ] }	
        var results = document.getElementById("results");
        results.innerHTML = Mo.Template("user_tmpl", dataObject); 
</script>
Mo.random( length[, upper, lower, number] )

产生一个指定长度的随机字符串,并可以控制它的组成方式(大小写,数字)。

length 字符串长度

upper 是否允许大写字母,默认允许

lower 是否允许小写字母,默认允许

number 是否允许数字,默认允许

Mo.random(40,true,true,true);

Mo.between( min, max )

产生一个指定范围的随机数值。

min 最小整数值

max 最大整数值

Mo.between(40,100);

Mo.get( key[, url] )

提取 URL 中的指定参数的值。

key 参数名称

url URL 字符串,默认为当前 location.href

Mo.get("key");
原始: 结果:
Mo.url( url )

解析 URL 资源链接。

url URL 字符串

Mo.url("http://abc.com:8080/dir/index.html?id=255&m=hello#top");

返回以下属性值:

属性: 值: 属性: 值:
.file index.html .hash top
.host abc.com .query ?id=255&m=hello
.params Object = { id: 255, m: hello } .path /dir/index.html
.segments Array = ['dir', 'index.html'] .port 8080
.protocol http .source http://abc.com:8080/dir/index.html?id=255&m=hello#top
Mo.write( html )

直接输出内容到页面。

html HTML 字符串

Mo.write("abc");

连续输出多个内容块。

Mo.write( "abc", "def" );

Mo.script( src[, attr, func, target] )

加载 JavaScript 到文档或指定元素中。

src 文件名称或地址,Mo.js API 请直接使用短标识

attr 属性集合,{ "abc" : "def" } 形式,可以多个

func 回调函数

target 插入到目标元素上,默认为 <head>

Mo.script( "script.js", { "charset" : "utf-8" }, function(){ test() } );

加载 Mo API 到文档,请使用其标识,例如加载 mo.drag.js,则为 drag 。

Mo.script( "drag", {}, function(){ new Mo.Drag( Mo("#drag img").item(0) ); } );

Mo.json( src, attr, func )

加载 JavaScript 到文档或指定元素中。

src 文件名称或地址,Mo.js API 请直接使用短标识

attr 属性集合,{ "abc" : "def" } 形式,可以多个

func 回调函数

func 可接受参数

data JSON 数据

Mo.json( "json.php?callback=?", { "charset" : "utf-8" }, function( data ){ alert( data ); } );

Mo.date( format[, datetime] )

返回格式化后的日期。

format 字符串形式

datetime 时间对象,默认为当前时间

format 取值参考,以 2011/9/6 2:1:5 为例

属性: 值: 属性: 值:
yy 完整年份,如:2011 y 短年份,如:11
mm 完整月份,如:09 m 短月份,如:9
dd 完整日期,如:06 d 短日期,如:6
hh 完整小时,如:02 h 短小时,如:2
ii 完整分钟,如:01 i 短分钟,如:1
ss 完整秒钟,如:05 s 短秒钟,如:5
Mo.write( Mo.date("y-m-d") );

Mo.write( Mo.date( "y-m-d", 1328029261 ) );

Mo.find( selector[, context] )

Mo 选择器,返回匹配的页面元素,如果找到匹配元素则返回 array,否则返回 false。

selector 选择器表达式

context 基准对象,默认为 document

Mo.write( Mo.find( "#build" )[0].tagName );

Mo.create( tag[, attr] )

元素创建工具,返回新创建的元素对象。

tag 标签名称

attr 属性集合,{ "abc" : "def" } 形式,可以多个

Mo.create( "div", { "id" : "element", "innerHTML" : "New Element" } );

Mo.extend( func )

扩展 Mo 选择器方法。

func 方法集合,{ "abc" : "def" } 形式,可以多个

Mo.extend( { 'read' : function(){ alert( this.self[0].innerHTML ); } } );

支持串联方法。

Mo.extend( { 'read' : function(){ alert( this.self[0].innerHTML ); return this; } } );