Code Monkey home page Code Monkey logo

v3doc's People

Contributors

liuxf avatar

Stargazers

 avatar

Watchers

 avatar  avatar

v3doc's Issues

V3 工具库 API 文档 - UE 扩展 - 基础功能

基础功能

UE.debug

当前调试状态


UE.log(*info)

UE.debug 为真时,向控制台输出信息。支持所有 console.log() 支持的参数。


UE.addFavorite([options])

加入浏览器收藏夹。

参数

  • options —— 可设定新建收藏夹项目的详细信息,取值格式(以及默认值)如下:
{
    title: '优e网 - 优品生活 优e购',  //新建收藏夹项目的标题
    url: 'http://www.uemall.com/'  //新建收藏夹项目的网址
}

UE.Validation

表单校验组件。


UE.tmpl

前端模板功能。

方法

  • .extend(*hashTemplate) —— 向模版缓存中加入模板
  • .get(sName) —— 从模版缓存中获取模板
  • .render(template, data) —— 使用模板 template 将数据 data 渲染出来,得到 HTML 片断。template 参数可以是模板内容(比如通过 .get() 方法获取的模板内容),也可以是 DOM 中的模板节点 ID(必须以 "#" 开头)。

hashTemplate 参数的取值格式

{
    sName: sTmpl,  //sName - 模板名; sTmpl - 模板内容
    //...
}

UE.action

通过事件委托进行封装的链接点击处理模块。

结构要求

链接的类名必须为 'cmAction',同时其 href 属性值指定点击后将执行的操作。

<a href="#action-name" class="cmAction">链接</a>

方法

  • .extend(*hashAction) —— 向动作库中加入一些动作
  • .trigger(actionName) —— 触发指定动作(该动作必须在页面内有对应的链接元素)

hashAction 参数的取值格式

{
    actionName: callback,  //actionName - 动作名; callback - 动作要执行的函数
    //...
}
callback(event, actionName) 函数将接收到的参数
  • event —— 点击事件对象
  • actionName —— 动作名

(注意:callback() 函数将的执行上下文是链接元素自身。)


UE.loadom

在 DOM 中埋入一个占位元素,当 DOM Ready 时会根据该元素的 ID 执行一些预先定义的操作。

结构要求

占位元素的类名必须为 'load-ajax',同时其 ID 值指定其将接受的操作。

<div id="id" class="load-ajax"></div>

方法

  • .extend(*hashOperation) —— 预先定义一些操作。hashOperation 参数的取值格式如下:
{
    id: fn,  //id - 为操作取个名称,取值同占位元素的 ID 值; fn - 对占位元素的操作
    //...
}

fn() 函数将接收到的参数

  • id —— 占位元素的 ID 值,也就是该操作的名称

(注意:fn() 函数将在全局上下文执行。)


UE.sns

获取 SNS 分享链接。(暂不支持图片)

方法

  • .getShareLink(site, url, text) —— 获取分享链接,各参数含义如下:
  • site —— 网站名(weibo, kaixin, renren
  • url —— 待分享的页面链接
  • text —— 分享留言

<< 返回总目录

V3 工具库 API 文档 - Underscore 扩展 - 字符串方法

字符串方法

_.str.tmpBuffer([*text])

创建一个 TmpBuffer 对象(可以同时把一个或多个子串添加进去)

TmpBuffer 对象用于连接大量的字符串,在内部使用 [str1, str2, str3].join('') 方式,以便在旧版 IE 浏览器中取得更好的性能。

实例方法

  • .toString() —— 重写对象的原生 toString() 方法,以便正确实现自动类型转换。
  • .valueOf() —— 同上。
  • .add(\*text) —— 添加一个或多个子串。
  • .join([chr]) —— 连接所有子串,可指定连接符。
  • .clear() —— 清除已添加的所有子串。

_.str.rmb

常量,人民币符号 ¥,半角字符。


_.str.fullPriceHTML(n)

将数字格式化为完整的金额格式 HTML 片断

返回值

参示例。

示例

_.str.fullPriceHTML(1234567.89123); //'<samp>&yen;</samp> <span>1,234,567.89</span>'
_.str.fullPriceHTML(-1234567.89567); //'- <samp>&yen;</samp> <span>1,234,567.90</span>'

_.str.priceToNumber(s)

将已格式化的金额字符串解析为数字(注意:该方法目前无法处理源串中的人民币符号和 HTML 标签。)

返回值

参示例。

示例

_.str.priceToNumber('1,234,567.89'); //1234567.89
_.str.priceToNumber('- 1,234,567.90'); //-1234567.9

_.str.replaceVar(sTemplate, sVar, data)

一个微型的模板渲染函数,将模板字符串 sTemplate 中的变量 sVar 替换为给定数据 data

返回值

渲染后的字符串


_.str.dateFormat([date], fmt)

格式化时间对象

参数

  • date —— 待格式化的时间对象。若此函数缺失,则取当前系统时间。
  • fmt —— 用于格式化的模板,详细说明如下:
  • yy, yyyy —— 代表年
  • M, MM —— 代表月
  • d, dd —— 代表日
  • H, HH —— 代表小时
  • m, mm —— 代表分钟
  • s, ss —— 代表秒
  • S —— 代表毫秒
  • W —— 代表汉字星期几(一、二、……六、日)
  • w —— 代表数字星期几(1、2、……6、0)

示例

_.str.dataFormat(new Date(1999,10,10), "yy年M月d日 H点m分s秒 - 星期W");
_.str.dataFormat(new Date(1999,10,10), "yyyy年MM月dd日 HH点mm分ss秒 - 星期w");
_.str.dataFormat("yy年M月d日 H点m分s秒");
_.str.dataFormat("yyyy年MM月dd日 HH点mm分ss秒");

_.regexp

常用正则表达式集合(主要用于表单校验)

  • _.regexp.Email —— 电子邮箱
  • _.regexp.Mobile —— **大陆手机号
  • _.regexp.PostCode —— **大陆邮政编码

<< 返回总目录

V3 工具库 API 文档 - Underscore 扩展 - 时间方法

时间方法

_.time.start([sKey])

记录一个开始的时间戳

参数

sKey —— 用于区分时间戳的 key 值。若未提供此参数,则将时间戳保存至公用的时间戳队列。

返回值

当前时间戳


_.time.end([sKey])

根据上次记录时间戳,计算时间戳的差值

参数

sKey —— 用于区分时间戳的 key 值。若未提供此参数,则从公用的时间戳队列中取出最后一个时间戳用于计算差值。

返回值

时间戳差值


_.time.create(iDelay)

创建一个延时循环对象(该对象循环执行一个队列,例如:多个循环检查)

参数

iDelay —— 延时(毫秒)

返回值

一个 TimeInterval 实例

实例方法

  • .add(fn) —— 把函数添加到执行队列
  • .start() —— 开始执行循环执行队列
  • .stop() —— 停止执行循环执行队列
  • .fire() —— 执行队列子项

<< 返回总目录

V3 工具库 API 文档 - UE 扩展 - UI 组件

UI 组件

UE.rootElem

视口根元素(标准模式下总是指向 document.documentElement


UE.rootScrollingElem

视口滚动根元素(正常情况下应指向视口根元素,但 WebKit 总是指向 document.body


UE.scrollTo(selector, [fix], [fn])

滚动动画方法,将视口滚动至某节点位置。

参数

  • selector —— 合法选择符、DOM 元素或 jQuery 对象
  • fix —— 位置修正(像素),取正值则滚动至目标元素上方的某个位置
  • fn —— 滚动结束后的回调函数

返回值


UE.alert(options, [callback])

消息框组件

参数

  • options —— 消息内容(支持 HTML 代码)或定制化参数。
  • callback —— 回调函数(在 show 和 hide 时都会被调用,回调函数会接收到一个 status 状态参数,1 代表 show,0 代表 hide)。

options 参数的取值格式

{
    type: 'warn',  //消息类型(其它取值不详)
    html: '<p>...</p>'  //消息内容
}

返回值


UE.dialog

弹框组件(需要重新设计)

方法

  • .wrap(selector, [callback]) —— 显示页面中已存在的节点内容。
  • .show(options) —— 显示弹框,需传入参数。
  • .hide([id]) —— 隐藏弹框。若不传入 id 参数,则取当前弹框。

options 参数的取值格式

{
    width: 300,  //弹框内容区宽度(像素)
    height: 60,  //弹框内容区高度(像素)
    delay: 3000,  //可选 - 弹框延时自动关闭(毫秒)
    type: 'warn',  //可选 - 弹框类型(其它取值不详)
    id: 'popup-login'  //消息 id,也是弹出层节点的 id。若不指定,程序将自动生成一个 id
}

UE.mask

半透明遮罩组件

方法

  • .show([callback]) —— 显示(可指定回调函数)
  • .hide([callback]) —— 隐藏(可指定回调函数)

UE.loading

Loading 提示组件

方法

  • .show() —— 显示
  • .hide() —— 隐藏

UE.placeholder

输入框占位提示组件(可能对布局和结构有要求,暂不确定)

方法

  • .ini() —— 初始化
  • .change(selector, text) —— 修改输入框占位提示文本

UE.fixIE6Select

在 IE6 下显示或隐藏下拉框

方法

  • .show() —— 显示
  • .hide() —— 隐藏

UE.Iframe

可以实现 iframe 自动获取高度(iframe 高度自适应),兼容主浏览器

方法

(略)


UE.tab

(略)


<< 返回总目录

V3 工具库 API 文档 - UE 扩展 - 业务功能

业务功能

UE.env

环境参数集合

属性

  • .gaAccount —— 当前环境的 GA 账号
  • .mediaSrv —— 当前环境的上传图片资源服务器域名
  • .skinSrv —— 当前环境的主题资源服务器域名

(注意:以下布尔值属性为假时可能仅留空,并不一定会显式设置为 false 值。)

  • .isProduction —— 当前环境是否生产环境
  • .isTesting —— 当前环境是否测试环境
  • .isDevelopment —— 当前环境是否开发环境

UE.msg

全局消息相关方法

方法

  • .extend(*hashMsg) —— 向消息库中增加消息
  • .get(sKey) —— 从消息库中获取代号 sKey 对应的消息内容(此方法未完成,可直接通过 UE.msg[sKey] 的方式获取消息内容)

hashMsg 参数的取值格式

{
    sKey: msg,  //sKey - 消息代号; msg - 消息内容
    //...
}

UE.cms

CMS 相关方法集合


UE.ajax

Ajax 方法集合


UE.user

用户相关方法集合


UE.popup

业务弹窗方法集合


<< 返回总目录

V3 工具库 API 文档 - Underscore 扩展 - 特性检测

特性检测

_.support.event(sEvent)

事件检测。检测当前浏览器下,元素是否原生支持某个事件。

示例

_.support.event('click'); //true

_.support.input

表单控件属性检测。检测当前浏览器是否支持 HTML5 表单控件的各种属性。直接查询其属性值即可。

属性

  • .autocomplete
  • .autofocus
  • .list
  • .placeholder
  • .max
  • .min
  • .multiple
  • .pattern
  • .required
  • .step

<< 返回总目录

V3 工具库 API 文档 - Underscore 扩展 - 用户代理探测

用户代理探测

_.ua

用户代理属性集合

属性

主要的预判属性如下(为假时可能仅留空,并不一定会显式设置为 false 值):

  • .isIE6 —— 是否 IE6
  • .isWebKit —— 是否 WebKit 内核
  • .isMobileDevice —— 是否移动设备
  • .isAndroid —— 是否 Android
  • .isIOS —— 是否 iOS
  • .isIPad —— 是否 iPad
  • .isIPhone —— 是否 iPhone
  • .isIPod —— 是否 iPod

_.ua.value

当前用户代理的 UA 字符串


_.ua.screen

屏幕参数集合

属性

  • .pixelRatio —— 像素精度比率(默认为 1
  • .width —— 屏幕宽度(px)
  • .height —— 屏幕高度(px)
  • .size —— 由屏幕宽度和高度组成的数组
  • .longerSide —— 屏幕长边
  • .shorterSide —— 屏幕短边
  • .aspectRatio —— 屏幕宽高比(用长边比短边,因此终始大于 1)

_.ua.os

移动操作系统信息(在桌面系统下的值为空字符串)

可能的值

  • 'Android' —— 安桌操作系统
  • 'iOS' —— 苹果的移动操作系统

_.ua.osVersion

移动操作系统版本,保留一位小数(在桌面系统下的值为空字符串)

(注意:数据类型为字符串。)

可能的值(示例)

  • '3.0'
  • '4.1'
  • '0.0' —— 无法探测出当前移动设备的操作系统版本

_.ua.appleDevice

苹果移动设备代号

可能的值

  • 'iPod'
  • 'iPod (HD)'
  • 'iPod (HD+)'
  • 'iPhone'
  • 'iPhone (HD)'
  • 'iPhone (HD+)'
  • 'iPad'
  • 'iPad (HD)'

_.ua.mobileDeviceType

(别名 _.ua.type

移动设备类型

可能的值

  • 'pad'
  • 'phone'

<< 返回总目录

V3 工具库 API 文档 - Underscore 扩展 - 持久化存储

持久化存储

_.config

本地存储方法集合(在旧版 IE 下使用 userData 来模拟 HTML5 的 localStorage 特性)

(注意:此方法目前无法实现 sessionStorage 特性。如有需要,只能通过会话级 Cookie 来模拟。)

方法

  • .set(sKey, sValue) —— 保存名值对。
  • .get(sKey) —— 根据 key 名读取 key 值。
  • .remove(sKey) —— 删除指定名值对。
  • .clear() —— 清空所有已保存的名值对。(慎用)

_.cookie

Cookie 读写方法集合,内部实现参考 jQuery.cookie 插件。(注意:不需要和后端交互的数据请使用本地存储方法)

方法

  • .set(name, val, [options]) —— 写入 Cookie。具体参数含义参见源码。
  • .get(name) —— 读取指定 Cookie。
  • .remove(name) —— 删除指定 Cookie。

<< 返回总目录

V3 工具库 API 文档 - Underscore 扩展 - 基础方法

基础方法

_.mix(objA, [*objN], [bOverwrite])

扩展工厂

参数

  • objA —— 只有一个参数时,会扩展至父对象(即 _ 命名空间)
  • objN —— 超过一个参数时,扩展除第一个参数外的对象属性至第一个对象(即 objA
  • bOverwrite —— 当最后一个参数是布尔值时,表示扩展时遇到相同名称的属性,是否执行覆盖操作(这是与 _.extend() 的一大区别,_.extend() 方法无此选项,总是直接覆盖。)

返回值

扩展后的对象


_.ns(ns, [oProperty])

命名空间管理

参数

  • ns —— 命名空间的完整路径
  • oProperty —— 需要给命名空间扩展的属性集合。如果此参数传入一个函数,则函数会执行,并且内部指针指向该命名空间对象(即第一个参数)。

返回值

命名空间


_.newClass([obj], oProperty)

创建一个类

参数

  • obj —— 待扩展的方法集合。可将多个需要创建的类的共同部分提取出来,并通过此参数重用(参示例)。
  • oProperty —— 类的原型属性和方法。需要注明的是,此参数的 .initialize() 方法将被视为构造函数,而不会成为类的一个原型方法。

返回值

示例

var IPerson = { //人具有的公共方法 write、read
    write: function () {},
    read: function () {}
};
var Man = _.newClass(IPerson, {
    initialize: function () {
        //init
    },
    ... //男人的其他属性和方法
});
var Women = _.newClass(IPerson, {
    initialize: function () {
        //init
    },
    ... //女人的其他属性和方法
});

_.wait(fnCondition, fnCallback)

测试回调

参数

  • fnCondition —— 测试函数
  • fnCallback —— 回调函数。以一定的频率轮询测试函数,当测试函数返回 true 时执行回调函数。(注意:测试函数与回调函数都将在全局上下文执行。)

返回值


_.fire(fn, [*param])

执行一个函数(无需在执行前检测其是否是一个函数)

参数

  • fn —— 待执行的函数。(注意:该函数将在全局上下文执行。)
  • param —— 传给 fn 的参数。

返回值

fn 函数执行后的返回值


_.fireWith(fn, oTarget, [*param])

执行一个函数(无需在执行前检测其是否是一个函数)

参数

  • fn —— 待执行的函数。
  • oTarget —— 指定函数执行的上下文。
  • param —— 传给 fn 的参数。

返回值

fn 函数执行后的返回值


_.url

URL 相关属性与方法集合

属性

  • .host —— 当前页面的主机名(比如 "foo.bar.com"
  • .path —— 当前页面的路径名(比如 "/path/to/foo.html"
  • .query —— 当前页面的 query string(比如 "foo=1&bar=2"

方法

  • .parseQuery(str) —— 将 query string str 解析为名值对,输出为一个对象。
  • .getParam(sKey) —— 从当前页面的 query string 中获取键名 sKey 对应的值。无此键名或值为空均返回 null
  • .go(url) —— 跳转到某网址。
  • .jump(url) —— 跳转到某网址,但不生成新的历史记录,仅替换当前历史记录项。

<< 返回总目录

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.