概述

APICloud前端框架,包括api.js和api.css。api.css处理不同平台浏览器的默认样式。api.js是一个JavaScript库。是APICloud为混合移动开发定制的轻量JavaScript库。具有小巧高效的特性。很容易学习和使用。使用APICloud前端框架需引入api.js和api.css文件。api.js,api.css在创建APICloud项目时自动创建。

开源地址:https://github.com/apicloudcom/apicloud-js-framework

CSS Framework

  • 清除浏览器默认样式(借鉴CSS Reset,Normalize.css)
  • 禁用系统长按菜单(-webkit-touch-callout:none)
  • 禁用字体大小自动调整(-webkit-text-size-adjust:none)
  • 去掉点击高亮(-webkit-tap-highlight-color:rgba(0,0,0,0))
  • 禁止选择内容(-webkit-user-select:none)
  • 清除浮动(.clearfix)
  • 加载更多默认样式(.loading_more)

JavaScript Framework

命名空间为$api,所有方法如下:
.trim()
  • 描述:去掉字符串首尾空格
  • 用法:trim(str)
  • 参数: str (类型:String)
  • 返回值:去除首尾空格的字符串
  • 示例:
    $api.trim('   abc  123   ');  // => "abc  123"

.trimAll()

 
  • 描述:去掉字符串所有空格
  • 用法:trimAll(str)
  • 参数:str (类型:String)
  • 返回值:去除所有空格的字符串
  • 示例:
    $api.trimAll('  abc 123  ');  // => "abc123"

.isArray()

 
  • 描述:判断对象是否为数组
  • 用法:.isArray(obj)
  • 参数: obj (类型:Object)
  • 返回值:Boolean
  • 示例:
    $api.isArray([1,2,3]);  // => true
    $api.isArray('123') // => false

.addEvt()

 
  • 描述:为DOM元素绑定事件
  • 用法:.addEvt(el, name, fn, useCapture)
  • 参数:

    el (类型:Element):DOM元素

    name (类型:String):事件类型

    fn (类型:Function):事件回调

    useCapture (类型:Boolean):事件捕获,默认为 false

  • 示例:

    $api.addEvt(element, 'click', function(){
    //do something
    });

.rmEvt()

 
  • 描述:移除DOM元素绑定的事件
  • 用法:.rmEvt(el, name, fn, useCapture)
  • 参数:

    el (类型:Element):DOM元素

    name (类型:String):事件类型

    fn (类型:Function):事件回调

    useCapture (类型:Boolean):事件捕获,默认为 false

  • 示例:

    $api.rmEvt(element, 'click', function(){
    //do something
    });

.one()

 
  • 描述:为DOM元素绑定事件,事件只执行一次
  • 用法:.one(el, name, fn, useCapture)
  • 参数:

    el (类型:Element):DOM元素

    name (类型:String):事件类型

    fn (类型:Function):事件回调

    useCapture (类型:Boolean):事件捕获,默认为 false

  • 示例:

    $api.one(element, 'click', function(){
    //do something
    });

.dom()

 
  • 描述:选择首个匹配的DOM元素
  • 用法:

    .dom(el, selector)

    从el元素开始查找

  • 参数:
    el (类型:Element):DOM元素

    selector (类型:Selector):CSS 选择器

  • 返回值: 返回首个匹配的DOM元素

  • 示例:

    $api.dom(el, '#id');
    $api.dom(el, '.list[type="text"]');

    .dom(selector)

    从document元素开始查找

  • 参数: selector (类型:Selector):CSS 选择器

  • 返回值:返回首个匹配的DOM元素
  • 示例:
    $api.dom('#id');
    $api.dom('.list[type="text"]');

.domAll()

 
  • 描述:选择所有匹配的DOM元素
  • 用法:

    .domAll(el, selector)

    从el元素开始查找

  • 参数:

    el (类型:Element):DOM元素

    selector (类型:Selector):CSS 选择器

  • 返回值: 返回所有匹配的DOM元素

  • 示例:

    $api.domAll(el, '.class');
    $api.domAll(el, '.list:fist-child');

    .domAll(selector)

    从document元素开始查找

  • 参数: selector (类型:Selector):CSS 选择器

  • 返回值:返回所有匹配的DOM元素
  • 示例:
    $api.domAll('.class');
    $api.domAll('.list:fist-child');

.byId()

 
  • 描述:通过Id选择DOM元素
  • 用法:.byId(id)
  • 参数: id(类型:String):CSS id 字符串
  • 返回值: 返回匹配的DOM元素
  • 示例:
    $api.byId('idStr')

.first()

 
  • 描述:选择DOM元素的第一个子元素
  • 用法:.first(el, selector)
  • 参数:

    el (类型:Element):DOM元素

    selector (类型:Selector):CSS 选择器

  • 返回值: 返回DOM元素的第一个子元素

  • 示例:
    $api.first(el,'li');

    .first(el)

  • 参数:el (类型:Element):DOM元素
  • 返回值:返回DOM元素的第一个子元素
  • 示例:
    $api.first(el);

.last()

 
  • 描述:选择DOM元素的最后一个子元素
  • 用法:.last(el, selector)
  • 参数:

    el (类型:Element):DOM元素

    selector (类型:Selector):CSS 选择器

  • 返回值: 返回DOM元素的最后一个子元素

  • 示例:
    $api.last(el,'li');

    .last(el)

  • 参数: el (类型:Element):DOM元素
  • 返回值:返回DOM元素的最后一个子元素
  • 示例:
    $api.last(el);

.eq()

 
  • 描述:选择第几个子元素
  • 用法:.eq(el, index)
  • 参数:

    el (类型:Element):DOM元素

    index (类型:String | Number):索引值

  • 返回值:根据索引值返回子元素

  • 示例:
    $api.eq(el, 2);
    $api.eq(el, '2');

.not()

 
  • 描述:根据排除选择器选择子元素
  • 用法:.not(el, selector)
  • 参数:

    el (类型:Element):DOM元素

    selector (类型:Selector):CSS 选择器

  • 返回值:返回不匹配选择器的所有子元素

  • 示例:
    $api.not(el, '.active');

.prev()

 
  • 描述:选择相邻的前一个元素
  • 用法:.prev(el)
  • 参数:el (类型:Element):DOM元素
  • 返回值:返回前一个元素
  • 示例:
    $api.prev(el);

.next()

 
  • 描述:选择相邻的下一个元素
  • 用法:.next(el)
  • 参数:el (类型:Element):DOM元素
  • 返回值:返回下一个元素
  • 示例:
    $api.next(el);

.contains()

 
  • 描述:判断某一个元素是否包含目标元素
  • 用法:.contains(parentEl, targetEl)
  • 参数:

    parentEl (类型:Element):DOM元素

    targetEl (类型:Element):DOM元素

  • 返回值:返回布尔值(true 或 false)

  • 示例:
    $api.contains(parentEl, targetEl);

.closest()

 
  • 描述:根据选择器匹配最近的父元素
  • 用法:.closest(el, selector)
  • 参数:

    el (类型:Element):DOM元素

    selector (类型:Selector):CSS 选择器

  • 返回值:根据选择器匹配最近的父元素

  • 示例:
    $api.closest(el, '.parent');

.remove()

 
  • 描述:移除DOM元素
  • 用法:.remove(el)
  • 参数:el (类型:Element):DOM元素
  • 示例:
    $api.remove(el);

.attr()

 
  • 描述:获取或设置DOM元素的属性
  • 用法:.attr(el, name, value)

    设置属性值

  • 参数:

    el (类型:Element):DOM元素

    name (类型:String):属性名

    value (类型:String):属性值

  • 返回值: 返回当前DOM元素

  • 示例:

    $api.attr(el,'data','123');

    .attr(el, name)

    获取属性值

  • 参数:

    el (类型:Element):DOM元素

    name (类型:String):属性名

  • 返回值:返回属性值

  • 示例:
    $api.attr(el,'data');

.removeAttr()

 
  • 描述:移除DOM元素的属性
  • 用法:.removeAttr(el, name)
  • 参数:

    el (类型:Element):DOM元素

    name (类型:String):属性名

  • 示例:

    $api.removeAttr(el, 'data')

.hasCls()

 
  • 描述:DOM元素是否含有某个className
  • 用法:.hasCls(el, cls)
  • 参数:

    el (类型:Element):DOM元素

    cls (类型:String):className

  • 返回值:Boolean

  • 示例:
    $api.hasCls(el, 'classname'); // => true

.addCls()

 
  • 描述:为DOM元素增加className
  • 用法:.addCls(el, cls)
  • 参数:

    el (类型:Element):DOM元素

    cls (类型:String):className

  • 返回值:返回当前DOM元素

  • 示例:
    $api.addCls(el, 'newclass');

.removeCls()

 
  • 描述:移除指定的className
  • 用法:.removeCls(el, cls)
  • 参数:

    el (类型:Element):DOM元素

    cls (类型:String):className

  • 返回值:返回当前DOM元素

  • 示例:
    $api.removeCls(el, 'newclass');

.toggleCls()

 
  • 描述:切换指定的className
  • 用法:.toggleCls(el, cls)
  • 参数:

    el (类型:Element):DOM元素

    cls (类型:String):className

  • 返回值:返回当前DOM元素

  • 示例:
    $api.toggleCls(el, 'display');

.val()

 
  • 描述:获取或设置常用 Form 表单元素的 value 值
  • 用法:.val(el, val)

    设置表单元素value值

  • 参数:

    el (类型:Element):DOM元素

    val (类型:String):想设置的value值

  • 返回值:返回当前DOM元素

  • 示例:

    $api.val(el,'123');

    .val(el)

    获取表单元素value值

  • 参数:el (类型:Element):DOM元素

  • 返回值:返回表单元素的value值
  • 示例:
    $api.val(el);

.prepend()

 
  • 描述:在DOM元素内部,首个子元素前插入HTML字符串
  • 用法:.prepend(el, html)
  • 参数:

    el (类型:Element):DOM元素

    html (类型:htmlString):HTML字符串

  • 返回值:返回当前DOM元素

  • 示例:
    $api.prepend(el,'<li>hello</li>');

.append()

 
  • 描述:在DOM元素内部,最后一个子元素后面插入HTML字符串
  • 用法:.append(el, html)
  • 参数:

    el (类型:Element):DOM元素

    html (类型:htmlString):HTML字符串

  • 返回值:返回当前DOM元素

  • 示例:
    $api.append(el,'<li>hello</li>');

.before()

 
  • 描述:在DOM元素前面插入HTML字符串
  • 用法:.before(el, html)
  • 参数:

    el (类型:Element):DOM元素

    html (类型:htmlString):HTML字符串

  • 返回值:返回当前DOM元素

  • 示例:
    $api.before(el,'<h1>world</h1>');

.after()

 
  • 描述:在DOM元素后面插入HTML字符串
  • 用法:.after(el, html)
  • 参数:

    el (类型:Element):DOM元素

    html (类型:htmlString):HTML字符串

  • 返回值:返回当前DOM元素

  • 示例:
    $api.after(el,'<h1>world</h1>');

.html()

 
  • 描述:获取或设置DOM元素的innerHTML
  • 用法:.html(el, html)

    设置innerHTML

  • 参数:

    el (类型:Element):DOM元素

    html (类型:htmlString):HTML字符串

  • 返回值:返回当前DOM元素

  • 示例:

    $api.html(el,'<h1>world</h1>');

    .html(el)

    获取innerHTML

  • 参数:el (类型:Element):DOM元素

  • 返回值:返回当前DOM元素的innerHTML
  • 示例:
    $api.html(el);

.text()

 
  • 描述:设置或者获取元素的文本内容
  • 用法:. text (el, txt)
  • 参数:

    el(类型:Element):DOM元素

    txt(类型:String):字符串

  • 返回值:当前DOM元素

  • 示例:
    var a = document.getElementById('a');
    $api.text(a, 'text'); // => <a id=''a''>text</a>

    . text (el)

  • 参数:el(类型:Element):DOM元素
  • 返回值:DOM元素的文本内容
  • 示例:
    <a id=''a''>text</a>
    var a = document.getElementById('a');
    $api.text(a); // => text

.offset()

 
  • 描述:获取元素在页面中的位置与宽高,(此为距离页面左侧及顶端的位置,并非距离窗口的位置)
  • 用法:. offset (el)
  • 参数:el(类型:Element):DOM元素
  • 返回值:该元素的位置(left,top)及宽高(width,height),返回值是json类型的,包括l,t,w,h属性
  • 示例:
    var offset = $api.offset(el);
    var left = offset.l;
    var top = offset.t;
    var width = offset.w;
    var height = offset.h;

.css()

 
  • 描述:设置所传入的DOM元素的样式,可传入多条样式
  • 用法:.css (el, css)
  • 参数:

    el(类型:Element):DOM元素

    css(类型:String):想要设置的CSS样式

  • 示例:

    $api.css(el,'width:800px;border:1px solid red');

.cssVal()

 
  • 描述:获取指定DOM元素的指定属性的完整的值,如800px
  • 用法:. cssVal (el, prop)
  • 参数:

    el(类型:Element):DOM元素

    prop(类型:String):CSS属性

  • 返回值:完整的CSS属性值

  • 示例:
    $api.cssVal(el,'width'); // => 800px

.jsonToStr()

 
  • 描述:将标准的JSON 对象转换成字符串格式
  • 用法:. jsonToStr (json)
  • 参数:json(类型:JSON)
  • 返回值:转换后的字符串
  • 示例:
    var json = {a:111, b:222};
    $api.jsonToStr(json); // => "{"a":111,"b":222}"

. strToJson ()

 
  • 描述:将JSON字符串转换成JSON对象
  • 用法:. strToJson (str)
  • 参数:str(类型:String):JSON字符串
  • 返回值:JSON对象
  • 示例:
    var a = '{"a":"111", "b":"222"}';
    $api.strToJson(a); // => Object {a: "111", b: "222"}

.setStorage()

 
  • 描述:设置localStorage数据
  • 用法:. setStorage (key,value)
  • 参数:

    key(类型:String):键名

    value(类型:任意类型):值

  • 示例:

    $api.setStorage('name','Tom');

.getStorage()

 
  • 描述:获取localStorage数据,必须与$api.setStorage()配套使用
  • 用法:. getStorage(key)
  • 参数:key(类型:String):键名
  • 返回值:localStorage中与键名对应的值
  • 示例:
    $api.getStorage('name'); // => "Tom"

.rmStorage()

 
  • 描述:清除localStorage中与键名对应的值
  • 用法:. rmStorage(key)
  • 参数:key(类型:String):键名
  • 示例:
    $api.rmStorage('name')

.clearStorage ()

 
  • 描述:清除localStorage的所有数据,慎用
  • 用法:. clearStorage ()
  • 示例:
    $api.clearStorage ();

.fixIos7Bar()

 
  • 描述:适配iOS7+系统状态栏,为传入的DOM元素增加20px的上内边距
  • 用法:.fixIos7Bar(el)
  • 参数:el (类型:Element) : DOM元素
  • 备注:自动识别iOS7+,避免应用与状态栏重叠,无法跟config.xml里面的 <preference name="iOS7StatusBarAppearance" value="false" /> 一起使用。
  • 示例:
    var header = document.querySelector('#header');
    $api.fixIos7Bar(header);

.fixStatusBar()

 
  • 描述:适配iOS7+、Android4.4+系统状态栏,为传入的DOM元素增加适当的上内边距,避免header与状态栏重叠
  • 用法:.fixStatusBar(el)
  • 参数:el (类型:Element) : DOM元素
  • 备注:自动识别iOS7+,避免应用与状态栏重叠,无法跟config.xml里面的 <preference name="statusBarAppearance" value="false" /> 一起使用。
  • 示例:
    var header = document.querySelector('#header');
    $api.fixStatusBar(header);

.toast()

 
  • 描述:延时提示框
  • 用法:.toast(title,text,time)
  • 参数:

    title (类型:String) : 标题(可选参数)

    text(类型:String):内容(可选参数)

    time(类型:Number):延时的时间(可选参数),单位为毫秒,默认值为500

  • 示例:

    $api.toast('你好啊');
    $api.toast(2000);
    $api.toast('你好啊',2000);
    $api.toast('你好啊','hello');
    $api.toast('演示','延时提示框',1000);

.get()

 
  • 描述:api.ajax()方法的get方式简写
  • 用法:.get(url,fnSuc,dataType)
  • 参数:

    url (类型:String) : url(必传参数)

    fnSuc (类型:Function):成功回调函数(可选参数)

    dataType(类型:String):返回值的类型(可选参数),有text与json两种类型,默认为json

  • 返回值:根据dataType在成功回调函数里返回相应数据

  • 示例:
    $api.get('http://www.pm25.in/api/querys/pm2_5.json?city=beijing&token=5j1znBVAsnSf5xQyNQyq',function(ret){
    alert(ret);
    },'text');

.post()

 
  • 描述:api.ajax()方法的post方式简写
  • 用法:.post(url,data,fnSuc,dataType)
  • 参数:

    url (类型:String) :url(必传参数)

    data(类型:JSON): 可以有body:请求体(字符串类型)values:post参数(JSON对象)

    files:post文件(JSON对象)等参数(可选参数)

    fnSuc (类型:Function):成功回调函数(可选参数)

    dataType(类型:String):返回值的类型(可选参数),有text与json两种类型,默认为json

  • 返回值:向url地址发送ajax请求,并发送数据data,根据dataType在成功回调函数返回相应数据

  • 示例:
    $api.post('http://192.168.1.233:4321/getString',{
    body: 'String'
    },function(ret){
    alert(ret);
    },'text');

附:网址 http://docs.apicloud.com/Front-end-Framework/framework-dev-guide

APICloud APP前端框架——手机APP开发、APP制作、APP定制平台的更多相关文章

  1. Framework7 – 赞!功能齐全的 iOS7 App 前端框架

    Framework7 是一个功能很全的 HTML 框架,用来构建 iOS7 应用程序. Framework7 允许您灵活搭建列表视图(表视图) .你可以让他们作为导航菜单,你可以在列表里面使用图标,输 ...

  2. Github上最全的APICloud开源前端框架效果盘点(转)

    1.微信网站几分钟变身“原生 App” 微信推出了微信JS-SDK,使微信公共号可以直接调用微信原生的接口,具备部分原生应用的能力.微信JS-SDK的推出,将大大提高微信公共号的 用户体验,但是如果存 ...

  3. Framework7功能齐全的 iOS7 App 前端框架

    Framework7 是一个功能很全的 HTML 框架,用来构建 iOS7 应用程序. Framework7 允许您灵活搭建列表视图(表视图) .你可以让他们作为导航菜单,你可以在列表里面使用图标,输 ...

  4. Spring框架入门之开发环境搭建(MyEclipse2017平台)

    基于MyEclipse2017平台搭建Spring开发环境,这里MyEclipse已将Spring集成好了,我们只需要做一简单配置即可 一.环境配置 OS:Windows7 64位 IDE工具:MyE ...

  5. 闲暇时间开发的个人app

    最近一段时间公司不是很忙,晚上基本没怎么加班.所以自己利用晚上在家的时间开发了一个app(奇趣营),其实自从转android开发以来,就有想过要自己开发一个app.一方面可以提升自己的经验:另一方面可 ...

  6. 【转】基于laravel制作APP接口(API)

    这篇文章主要介绍了基于laravel制作APP接口(API)的相关资料,需要的朋友可以参考下 前期准备 前言,为什么做以及要做个啥本人姓小名白,不折不扣编程届小白一名,但是自从大一那会儿接触到编程这件 ...

  7. 2015 年开源前端框架盘点 TOP 20

    1.名称:Bootstrap 类别/语言:HTML.CSS.JavaScript 创建者: Twitter 人气:在Github上有91007 stars 描述:主流框架中毋庸置疑的老大,Bootst ...

  8. vue 前端框架

    什么是vue.js 1.vue是目前最火的一个前端框架,react 是最流行的前端框架(react除了开发网站,还可以开发手机APP,vue语法也是可以进行手机app开发的,需要借助于weex) 2. ...

  9. 2015年开源前端框架盘点TOP20

    2015年,榜单根据github上star数作为排名依据.(榜单中大部分为组件式框架, react.Angular等基础框架不在此篇讨论) 1.Bootstrap 类别/语言:HTML.CSS.Jav ...

随机推荐

  1. 使用vue.js常见错误之一

    打包项目时,在vscode中输入如下命令 webpack .\src\main.js .\dist\bundle.js 出现如下错误: WARNING in configurationThe 'mod ...

  2. 缓存行和cpu缓存实例

    并发框架Disruptor译文 剖析Disruptor:为什么会这么快?(一)锁的缺点 剖析Disruptor:为什么会这么快?(二)神奇的缓存行填充 剖析Disruptor:为什么会这么快?(三)伪 ...

  3. 《JAVA与模式》之模板方法模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述模板方法(Template Method)模式的: 模板方法模式是类的行为模式.准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式 ...

  4. 浅谈Express的put与del

    假设有一个景区价格列表页,显示当前的价目表. 价目表存放在express应用的数组中: var tours = [ {id:0,name:'Hood River',price:99.99}, {id: ...

  5. D06——C语言基础学PYTHON

    C语言基础学习PYTHON——基础学习D06 20180821内容纲要: 面向对象初级学习 1 面向对象 2 类 (1)封装 (2)继承 (3)多态 3 小结 4 练习:选课系统 5 课外拓展:答题系 ...

  6. Python小白学习之路(二)—【Pycharm安装与配置】【创建项目】【运算符】【数据类型】

    写在前面: 第二天的学习,感觉比昨天学习相对轻松一些,但是对于我这个编程语言功底很弱的人来说,还是稍稍微有些.....哈尔滨的天气一天天冷了下来,还飘着小雨,不过还是挺有意境的.充实而又忙碌的生活,让 ...

  7. (转) MySQL分区与传统的分库分表

    传统的分库分表 原文:http://blog.csdn.net/kobejayandy/article/details/54799579 传统的分库分表都是通过应用层逻辑实现的,对于数据库层面来说,都 ...

  8. C++ 实现Biginteger

    网上C++版Biginteger参差不齐,一下子没有找到一个令人满意Biginteger,最近用c++改写了一下C#版 BigInteger,可以用于RSA大素数的生成,分享给大家.也请大家批评指正改 ...

  9. Karatsuba乘法--实现大数相乘

    Karatsuba乘法 Karatsuba乘法是一种快速乘法.此算法在1960年由Anatolii Alexeevitch Karatsuba 提出,并于1962年得以发表.此算法主要用于两个大数相乘 ...

  10. spring boot启动加载数据

    实际应用中,我们会有在项目服务启动的时候就去加载一些数据或做一些事情这样的需求.为了解决这样的问题,spring Boot 为我们提供了一个方法,通过实现接口 CommandLineRunner 来实 ...