HTML5技术

功能齐全并且比较时髦的Jquery通用开源框架之【ejq.js】 - 孙凯旋

字号+ 作者:H5之家 来源:H5之家 2016-08-04 18:00 我要评论( )

简介 ejq是一款非常小巧的JS工具库,未压缩才50K,在jquery的基础上对jquery缺失部分作了很好的弥补作用。 优点: 1、具有内置的模板解析引擎语法和angularjs相近减少学习成本 2、能够方便的对JSON操作,增删查改 3、随机数功能比较健全 4、丰富的通用函数,

简介

ejq是一款非常小巧的JS工具库,未压缩才50K,在jquery的基础上对jquery缺失部分作了很好的弥补作用。

优点:

1、具有内置的模板解析引擎语法和angularjs相近减少学习成本

2、能够方便的对JSON操作,增删查改

3、随机数功能比较健全

4、丰富的通用函数,这些函数是通过N多项目需求并且积累下来的,实用性很强。

 

功能介绍 一、随机数

num2 = $.random.getNumBetween(100,200);num3 = $.random.getNumBetweenLength(4, 5);num4 = $.random.getNumByLength(10); w1 = $.random.getWord(10);w2 = $.random.getNumBetweenLength(2, 4);guid = $.random.getGuid();//获取guid

 

二、对JSON的操作

var json = [{ id: 1, name: "张三" }, { id: 2, name: "李四" }, { id: 3, name: "王五" }]; json1And2 = $.linq.where(json, function (v) { return v.id == 1 || v.id == 2; }); zs = $.linq.single(json, function (v) { return v.id == 1; }); list = $.linq.first(json, function (v) { return v.id > 1; }); json2 = $.linq.order(json, "id", "desc"); //移除id为1的对象 $.linq.remove(json, function (v) { v.id == 1; }); isAnyOne = $.linq.any(json, function (v) { v.id == 1 });

 

三、数据的双向绑定

第一眼看去像是angularjs,其实是ejq.js模仿angularjs自已实现的模版解析引擎,因为这个功能才写了2天,有很多功能还没来的急实现,会最在近一个月让它更加的健全。

现在已经实现了 异步和同步的数据绑定功能 ,暂不支持运算符和逻辑条件,只作数据绑定还是够用了。

$(function () { model = $ejqApp.module("ng-app"); //控制器操作 model.controller("ctr1", function ($scope, $http, $con, $app, $tool, $event) { $scope.model = { title: "哈哈", list: [{ id: 1, name: "table1" }, { id: 2, name: "table2" }, { id: 3, name: "table3" }], item: [{ id: 3, name: "table3" }, { id: 2, name: "table2" }, { id: 1, name: "table1" }], id: 1 }; $scope.haha = { text: "haha " }; //使用ajax $http.jsonList = { url:"../json.json",//随机URL type: "get", }; thObj = $con.getObj(); appObj = $app.getObj(); //给当前控制器name注册事件实现双向绑定 appObj.on("click", thObj.find("#name"), function () { //更新model.Title $scope.model.title ="哈哈"+ $.random.getNumBetweenLength(8, 10); ($http.jsonList.url == "../json.json") { $http.jsonList.url = "../jsonList.json"; } else { $http.jsonList.url = "../json.json"; } //重新绑定 $ejqApp.apps.bind() alert("数据重新绑定成功") }) }) $ejqApp.apps.bind(); })

模仿angular.js双向绑定的DEMO $scope.model {{model.title}} {{model.id}} {{item.id}}{{item.name}}{{item.id}}{{item.name}}$scope.haha {{haha.text}} 异步加载{{item.desc}}{{item.name}}

HTML

 

四、常用函数

kvs = $.action.jsonDictionary({ id: 1, name: "张三" })$.action.replaceAll("abcdabc", "a", "-") //检测元素是否存在,当存在时执行回调函数,超时会自动停止检测 $.action.elementNullComplate("#id", function () { }); //循环执行检测选择器的元素是否有值,有则执行回调函数过,超过停止检测 $.action.elementValueReady("#id", function () { }) //让setTimeout可以指定执行的次数 $.action.setTimeoutWidthNum(function () { }, 1000, 3);$.action.trimEnd("adfaf,", ","); //指定位置插入字符 $.action.insertStr("adfaf", 2, "2"); $.action.url("/actionName/", "hid", "controllerName", "areaName") //生成的url如下 /xxx/areaName/controllerName/actionName $.action.url("/actionName/", "hid", "controllerName") $.action.url("/actionName/", "hid")

 

五、转换和验证

用法很简单 $.convert.xxx  、$.ValiData.xxx 和 $.valiType.xxx

 

六、浏览器相关操作

用法也很简单,用法如下:

$.request.queryString().id

$.response.open("/home.index",{id:1})

$.brovali.isIE()

 

七、通用扩展函数

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • JavaWeb与Asp.net工作原理比较分析 - 社会主义接班人

    JavaWeb与Asp.net工作原理比较分析 - 社会主义接班人

    2017-03-12 14:00

  • CSS 几款比较常用的翻转特效 - 周全535201285

    CSS 几款比较常用的翻转特效 - 周全535201285

    2017-02-06 16:00

  • versionCompare 版本号比较工具 - 小小沧海

    versionCompare 版本号比较工具 - 小小沧海

    2016-10-29 14:00

  • css3实现立方体,并且自转效果 - jerrylsxu

    css3实现立方体,并且自转效果 - jerrylsxu

    2016-03-02 17:06

网友点评
;