Remilia.js

这个库是Pache的前端标配之一,由一个叫Vec的渣渣所写

你可以在 这里 获得,允许你自由分发修改,注明下署名就好了

这里说几个常用的(很多功能也是边写Pache前端边做的,改动较大)

还有,咱比较懒,慢更

$.vjax

这是Ajax所用的函数,用法略奇葩……

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
function 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

1
2
3
4
$.get('index.php', okFunc, failFunc );

$.post

一个没有 get 的vjax

1
2
3
4
$.post('index.php', $.stringify({ 'argument': '参数1' }), okFunc, failFunc );

$.ls

window.localStorage的再封装(然并卵,仍在开发,所以这里只介绍一点点……)

1
2
3
4
5
6
7
8
$.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参数

1
2
3
4
5
6
7
8
9
10
11
12
13
hCon.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处理)

1
2
3
4
5
6
7
8
9
10
11
var testUrl =
window.location.href.replace(window.location.search, '') + '?'
+ $.stringifyRequest({
'id': 43
});
hCon.log( '这篇文章的URL是: ' + testUrl);
hCon.log( '参数id是:' + $.getRequest('id', testUrl) );

$.json2obj

将JSON转为对象

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function 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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$('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设定

1
2
3
4
5
6
7
8
9
10
11
$('body').cssLine()
.transition('background 0.618s')
.background('#6789AB');
hCon.log('点击换回原来的色彩');
$('body').addEvent('click', function (ele){
$('body').cssLine().background('');
},true);

$().fadeOut

基于CSS Animation的动画渐出

1
2
3
4
5
6
var hConEle = hCon.log('点我关闭这个消息');
$(hConEle).css({'cursor': 'pointer'})
.addEvent('click', function (ele){
$(this).fadeOut();
}, true);

$().fadeIn

基于CSS Animation的动画渐入

1
2
3
4
5
6
$('body').fadeOut(function (ele){
ele.fadeIn(2);
}, 1);

$().append

在当前内的末尾添加节点,跟appendChild是一样的,但是支持$().append('div', constructFunc)这样的写法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
$('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

1
2
3
4
5
6
7
8
9
var ele = hCon.log('屠龙宝刀,点击就送');
$( ele ).css('cursor', 'pointer')
.addEvent('click', function (e){
$(ele).fadeOut(function (ele){
ele.text('哦是吗');
ele.fadeIn();
});
}, true);

$().each

遍历选中的所有元素

1
2
3
4
5
6
7
8
9
10
11
12
hCon.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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
var 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

1
2
3
4
5
6
$.wait(function (){
alert('哦是吗');
}, 2000);

异步延迟

$.stradd / $.straddFunctional

数组合并(也是个然并卵)

1
2
3
4
hCon.log( $.stradd('我', '叫', 'V', 'e', 'c') );

$.createEle / $c

创建元素

1
2
3
4
5
6
7
8
9
function create(){
return $c('div', function (ele){
ele.text('哦是吗');
});
}
$( hCon.log('') ).append( create() );