Remilia.js

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

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

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

还有,咱比较懒,慢更

$.vjax

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

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


$.get('index.php', okFunc, failFunc );

$.post

一个没有 get 的vjax


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

$.ls

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


$.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参数


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处理)


var testUrl = window.location.href.replace(window.location.search, '') + '?' + $.stringifyRequest({ 'id': 43 }); hCon.log( '这篇文章的URL是: ' + testUrl); hCon.log( '参数id是:' + $.getRequest('id', testUrl) );

$.json2obj

将JSON转为对象

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:


$('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设定


$('body').cssLine() .transition('background 0.618s') .background('#6789AB'); hCon.log('点击换回原来的色彩'); $('body').addEvent('click', function (ele){ $('body').cssLine().background(''); },true);

$().fadeOut

基于CSS Animation的动画渐出

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

$().fadeIn

基于CSS Animation的动画渐入


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

$().append

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


$('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

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

$().each

遍历选中的所有元素


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

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


$.wait(function (){ alert('哦是吗'); }, 2000);

异步延迟

$.stradd / $.straddFunctional

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


hCon.log( $.stradd('我', '叫', 'V', 'e', 'c') );

$.createEle / $c

创建元素

function create(){
    return $c('div', function (ele){
        ele.text('哦是吗');
    });
}
$( hCon.log('') ).append( create() );