bui.unit Class
常用小方法
Item Index
Methods
between
-
val
-
min
-
[max]
检测值是否在最小最大之间
Parameters:
-
val
Number[检测的值,可以是数字,也可以是日期]
-
min
Number[最小值, 默认为0, 比对日期时, 最小值必须传]
-
[max]
Number optional最大值, 默认为今年的最后一天, 13位数的数字
Returns:
Example:
// 例子:
var bool = bui.unit.between(10,0,100); // 返回true // 例子: var bool = bui.unit.between("2020-5-19","2020-5-1","2020-5-30"); // 返回true
calcHeight
-
target
-
height
利用calc百分比减高度,低版本手机不支持.
Parameters:
-
target
Object[选择器,例如: ".bui-page"]
-
height
String[带单位 10px]
Example:
var $main = $("main");
var headHeight = $("header").height();
// 设置main的高度 = 100% - headerHeight
bui.unit.calcHeight($main,headHeight)
debounce
-
fn
-
wait
-
scope
操作结束后才执行,比方正在输入文本,正在移动鼠标,是实时触发的,通过这个方法,可以让它在操作结束才执行;
Parameters:
-
fn
function[要执行的函数]
-
wait
number[等待的时间,单位毫秒]
-
scope
object[函数执行的范围]
Returns:
[description]
Example:
$("#id").on("scroll",bui.unit.debounce(function(){
// 滚动结束后才执行
},400);)
filterField
-
target
-
opt
由于target会有很多多余字段,所以可以提取一些store需要用的字段就可以。
Parameters:
-
target
Object[要提取的目标对象]
-
opt
Object | Array[ 数组时,为要提取的有哪些字段;对象时,如果没有值,则跟数组一致,如果有value,则是相互映射关系,具体查看例子3。]
Example:
// 例子1: a 为store的初始值,请求后拿到了b 有很多多余数据字段,而实际上只需要一个 test
var a = {test:""}; var b = { name:12,test:13,sex:"男"}; var filter = bui.unit.filterField(b,a); // console.log(filter) // 输出 {test: 13}
// 例子2: a 为要提取的字段,请求后拿到了b 有很多多余数据字段,而实际上只需要一个 test
var a = ["test"]; var b = { name:12,test:13,sex:"男"}; var filter = bui.unit.filterField(b,a); // console.log(filter) // 输出 {test: 13}
// 例子3:
// dropdown 的数据是 name,value ,接口返回的数据没有 name, value 字段,所以需要转换。
var dropdownData = {name:"title",value:"id"} var target = { id:12,title:"我是标题",sex:"男"}; var filter = bui.unit.filterField(target,dropdownData); // console.log(filter) // 输出 {name: "我是标题", value: 12}
// 例子4:
// dropdown 的数据是 name,value ,接口返回的数据没有 name, value 字段,所以需要转换。
var dropdownData = {name:"title",value:"id"} var target = [{ id:12,title:"我是标题",sex:"男"},{ id:13,title:"我是标题2",sex:"男"}]; var filter = bui.unit.filterField(target,dropdownData); // console.log(filter) // 输出 [{name: "我是标题", value: 12},{name: "我是标题2", value: 13}]
getAttributes
-
target
获取所有属性及值
Parameters:
-
target
Object[要提取的目标对象]
Example:
// 例子1: 获取某个dom的所有属性和值
var attrs = bui.unit.getAttributes()
mailto
-
option
发送邮件
Parameters:
-
option
Object-
email
String[收件人,多个收件人英文逗号分开]
-
cc
String[抄送,多个收件人英文逗号分开]
-
subject
String[邮件主题]
-
body
String[邮件内容]
-
Example:
// 收件人带主题
bui.unit.mailto({ email:"test1@163.com", subject:"Testing" })
pxToRem
-
size
脚本获取元素大小px的值转换成rem
Parameters:
-
size
String[ px的值 ]
Example:
var size = bui.unit.pxToRem(200);
pxToRemZoom
-
size
原比例转换,750的元素大小px转换rem单位;
Parameters:
-
size
String[ px的值 ]
Example:
var size = bui.unit.pxToRemZoom(200);
relativePath
-
url
-
[path]
获取多页相对路径
Parameters:
-
url
String[提取多页的相对路径]
-
[path]
String optional默认: "pages" 静态页面的根路径,所有路径都相对当前路径
Example:
// 例子:
var path = bui.unit.relativePath("pages/ui_controls/bui.list") // 在首页 index.html 打开则输出 pages/ui_controls/bui.list , 在二级页面 pages/index.html 打开, 则是ui_controls/bui.list;
remToPx
-
size
rem的值转换成px
Parameters:
-
size
String[ rem的值 ]
Example:
var size = bui.unit.remToPx(2);
sms
-
num
-
content
发送短信
Parameters:
-
num
string[电话号码,多个号码用逗号分割]
-
content
string[发送的内容]
Example:
// 发送短信
bui.unit.sms("10086","CZMM")
tel
-
num
拨打电话,单页的a 标签跳转电话无效
Parameters:
-
num
number | String[电话号码, + 代表是国际电话号码]
Example:
// 拨打电话
bui.unit.tel("13800138000")
// 拨打国际电话
bui.unit.tel("+13800138000")