这个库是Pache的前端标配之一,由一个叫Vec的渣渣所写
你可以在 这里 获得,允许你自由分发、修改,注明下署名就好了
这里说几个常用的(很多功能也是边写Pache前端边做的,改动较大)
还有,咱比较懒,慢更
$.vjax
这是Ajax
所用的函数,用法略奇葩……
12345678910111213141516171819function ok(data){ console.log(data); hCon.log(data);}function fail(err){ }$.vjax('index.php', 'GET', ok, fail);function collectPost(){ return $.stringifyRequest({ 'argument': 'www', 'pache': '哦是吗' });}$.vajx('index.php', 'POST', collectPost, ok, fail);
$.get
一个没有 post
的vjax
1234$.get('index.php', okFunc, failFunc );
$.post
一个没有 get
的vjax
1234$.post('index.php', $.stringify({ 'argument': '参数1' }), okFunc, failFunc );
$.ls
window.localStorage
的再封装(然并卵,仍在开发,所以这里只介绍一点点……)
12345678 $.ls('lsKey', 'abc'); //设置 lsKey 键,值为 'abc' var lsValue = $.ls( 'lsKey' ) //获取 lsKey hCon.log(lsValue);
$.cookie
顾名思义(正在开发)
$.cookie('cookie', 'exciting', time);
//设置cookie
hCon.log( $.cookie('cookie') );
//获得 cookie 这个键
$.cookie.parse();
//将cookie转成对象
$.cookie.set();
//跟第一个是一样的
$.getRequest
获取当前URL的get参数
12345678910111213hCon.log( '当前文章的id是:' + $.getRequest('id') );//同时,还支持从其它地方来的地址var testUrl = 'http://vechk.com/pache?';testUrl += $.stringifyRequest({ 'q': 'i Have A bug', 'a': 'yes, you Have bug'});hCon.log( '自定义了一个请求Url:' + $.getRequest('q', testUrl) );
$.stringifyRequest
将请求转为 URL
的形式(已经做Url处理)
1234567891011var testUrl = window.location.href.replace(window.location.search, '') + '?' + $.stringifyRequest({ 'id': 43 });hCon.log( '这篇文章的URL是: ' + testUrl);hCon.log( '参数id是:' + $.getRequest('id', testUrl) );
$.json2obj
将JSON转为对象
123456789101112131415function ok( obj ){ hCon.log('转换成功,test是:'+ obj.test);}function fail( err ){ hCon.log('转换失败!' + err);}var jsonStr = '{"test": "abc", "ddd": "ooo"}';$.json2obj( jsonStr, ok, fail);hCon.log('ddd, 哦是吗:' + $.json2obj( jsonStr, ok, fail).ddd );jsonStr = 'ajkglikjlkwjet';$.json2obj( jsonStr, ok, fail);
$.jsonp
JSONP,你懂得,目前还在开发,先不讨论
$.sendJSON
发送JSON
$.sendJSON(URL, jsonStr, ok, fail);
domMethod
操作DOM的一些……类似jQuery
最基本的:
$('body')
$().addEvent
添加事件,跟addEventListener
是一样的用法
$().rmEvent
移除事件,跟removeEventListener
是一样的用法
$().css
设定CSS
example:
1234567891011121314$('body').css({ 'transition': 'background 0.618s', 'background': 'rgba(27, 29, 82, 0.382)'});hCon.log('点击换回原来的色彩');$('body').addEvent('click', function (ele){ $('body').css({ 'background': '' });},true);
$().cssLine
提供了一个链式调用的CSS设定
1234567891011$('body').cssLine() .transition('background 0.618s') .background('#6789AB');hCon.log('点击换回原来的色彩');$('body').addEvent('click', function (ele){ $('body').cssLine().background('');},true);
$().fadeOut
基于CSS Animation
的动画渐出
123456var hConEle = hCon.log('点我关闭这个消息');$(hConEle).css({'cursor': 'pointer'}) .addEvent('click', function (ele){ $(this).fadeOut(); }, true);
$().fadeIn
基于CSS Animation
的动画渐入
123456$('body').fadeOut(function (ele){ ele.fadeIn(2);}, 1);
$().append
在当前内的末尾添加节点,跟appendChild
是一样的,但是支持$().append('div', constructFunc)
这样的写法
12345678910111213141516171819202122$('body').append('div', function (ele){ ele.append('h1', function (ele){ ele.text('哦是吗(点击关闭)'); }); ele.cssLine() .position('fixed') .top('0px') .left('0px') .width('100%') .height('100%') .textAlign('center') .background('#666') .display('none'); ele.fadeIn(); ele.addEvent('click', function (e){ ele.fadeOut(); }, false);});
$().html
如果参数为空则获取HTML
,不为空则设定HTML
$().text
如果参数为空则获取innerText
/textContent
,不为空则设定innerText
/textContent
123456789var ele = hCon.log('屠龙宝刀,点击就送');$( ele ).css('cursor', 'pointer') .addEvent('click', function (e){ $(ele).fadeOut(function (ele){ ele.text('哦是吗'); ele.fadeIn(); }); }, true);
$().each
遍历选中的所有元素
123456789101112hCon.log('这是一个log');var pNode = hCon.log('这还是一个log').parentNode;hCon.log('点我看看');$(pNode ).css('cursor', 'pointer').addEvent('click', function (){ $(pNode).css('cursor', '').each(function (ele, i){ $(ele).text('哦是吗哦是吗哦是吗 '+i); }); }, true);
publicMethod
$.checkObj
对象检查器(然并卵),检测错误返回true
,否则返回false
1234567891011121314151617181920212223242526272829303132333435363738394041var people = { 'name': 'vec', 'age': '18', 'sex': 'male'};function saySex(){ if ( !$.checkObj(people, {'sex': 'male'}) ) return '他'; else if ( !$.checkObj(people, {'sex': 'female'}) ) return '她'; else return '它';}function sayPeople(){ if ( !$.checkObj(people, 'name') ){ //检查对象是否存在 hCon.log('有一个人,'+ saySex() +'叫 '+people.name); return false; }else{ return true; } }function test(){ if ( !sayPeople() ){ }else{ hCon.log('之后就一个人都没有了吗?'); }}test();delete people.name;hCon.log('把'+saySex()+'干掉了★');test();
$.allEach
遍历数组,正在开发
$.wait
123456$.wait(function (){ alert('哦是吗');}, 2000);
异步延迟
$.stradd / $.straddFunctional
数组合并(也是个然并卵)
1234hCon.log( $.stradd('我', '叫', 'V', 'e', 'c') );
$.createEle / $c
创建元素
123456789function create(){ return $c('div', function (ele){ ele.text('哦是吗'); });}$( hCon.log('') ).append( create() );