DOM工具函数
skylarkjs提供了大量简单而强大的dom工具函数,不需要第三方UI库,只使用这些函数即可开发功能强大的HTML应用程序。
概观
DOM工具函数包含以下三种类型的API,您可以为根据您的场景选择使用最合适的API类型:
- 节点级API
直接指定对象DOM节点进行相应的操作,简单直观 - vme api
使用一个封装了单个DOM节点的vme对象。 支持链接调用,因此适用于对同一个DOM节点多次进行操作 - query api
使用query对象包装节点列表。 适用于对一组DOM节点进行同样的操作
组成
skylarkjs中包含的工具函数按类别列出如下
基础API
- browser
该模块封装了一些关于浏览器兼容性的API。 - css
该模块封装了一些关于样式表和规则的API。 - scripter
该模块封装了一些关于脚本加载和卸载的API。
节点级API
- datax
该模块封装了一些操作DOM节点属性的API。. - dnd
该模块封装了一些关于DOM拖放的API - eventer
该模块封装了一些关于DOM事件的API。 - filer
该模块封装了一些关于文件操作的API。 - finder
该模块封装了一些关于DOM查询的API。 - fx
该模块封装了一些关于DOM动画的API。 - geom
该模块封装了一些关于DOM节点大小的API。 - mover
该模块封装了一些关于DOM节点移动的API。 - noder
该模块封装了一些关于DOM节点构造的API。 - styler
该模块封装了一些关于DOM节点样式和和类的API。
vme api
- velm
该模块实现了VisuleElement类型,用于封装可视DOM节点。
VisualElment提供了从节点级API封装的许多方法,并支持链接调用。
query api
- query
该模块提供了类似于jQuery的众多Query API
基于此模块的skylark-jquery则提供了与jquery完全兼容。
用法
使用节点级API
define(["skylarkjs"],function(skylarkjs){ var finder = skylarkjs.finder, geom = skylarkjs.geom; var el = finder.find(".target:first"); if (el) { var p = geom.pagePosition(el); p.left = p.left + 10; p.top = p.top + 30; styler.css(el,{ position : "absoute" }); geom.pagePosition(el,p); } });
使用vme api
vme模块实现了VisuleElement类型,用于包装可视DOM节点。
define(["skylarkjs"],function(skylarkjs){ var vme = skylarkjs.vme; //Get a VisualElement object from id var ve1 = vme("id11"); // Get a VisualElement object from dom node var ve2 = vme(document.getElementById("id11")); // Get a VisualElement object from selector var ve3 = vme.find(".cls1 .cls2"); //Chains call ve3.removeClass("cls1").addClass("cls2 cls3") });
VisualElement类可通过vme.VisualElement访问,您可以通过添加新的原型方法或静态方法来扩展它。
define(["skylarkjs"],function(skylarkjs){ var vme = skylarkjs.vme; vme.VisualElement.partial({ newProp1 : "value1", newMethod1 : function() {} }); });
使用query api
query模块提供了一系列与jquery兼容的方法 ,并且代码更简单,更有效率。 您可以使用query,如使用jquery。