//分页
(function(){
window.pager = function(id, attrs) {
this.extend({
allowpage: true,
pagesize: 10,
page: 1,
source: null //function(pagesize, page)
}).extend(attrs);
initdom.call(this, id);
initevt.call(this);
};
var fn = pager.prototype;
//初始化
function initdom(id) {
var div = this.div = dom.get(id);
div.innerhtml =
"
" +
"";
}
//初始化-事件
function initevt() {
var me = this;
var ul = this.div.children[0],
li = ul.children[1];
li.children[0].onclick = function() {
if (dom.hasclass(this, "disabled")) return;
navi.call(me, "first");
}
li.children[1].onclick = function() {
if (dom.hasclass(this, "disabled")) return;
navi.call(me, "prev");
}
li.children[2].onclick = function() {
if (dom.hasclass(this, "disabled")) return;
navi.call(me, "next");
}
li.children[3].onclick = function() {
if (dom.hasclass(this, "disabled")) return;
navi.call(me, "last");
}
ul.children[3].children[0].onclick = function (evt) {
if (evt.keycode == 13) {
navi.call(me);
return false; //阻止表单提交
}
}
ul.children[3].children[2].onclick = function () {
navi.call(me);
}
}
function navi (method) {
if (!this.allowpage) return;
var ul = this.div.children[0];
var input = ul.children[3].children[0];
var totalpage = math.ceil(this.total / this.pagesize),
page = parseint(input.value);
if (isnan(page)) page = 1;
else if (page < 1) page = 1;
else if (page > totalpage) page = totalpage;
switch(method) {
case "first": page = 1; break;
case "prev": if (page > 1) page--; break;
case "next": if (page < totalpage) page++; break;
case "last": page = totalpage; break;
}
input.value = page;
this.page = page; //记录当前页
if (this.source)
this.source(page); //调用查询
}
//重置
fn.reset = function (total) {
this.total = total; //记录总条数
var ul = this.div.children[0];
ul.children[0].innerhtml = "共 " + total + " 条记录";
if (!this.allowpage) return;
var totalpage = math.ceil(total / this.pagesize);
var li = ul.children[1];
var first = li.children[0];
var prev = li.children[1];
var next = li.children[2];
var last = li.children[3];
if (this.page == 1) dom.addclass(first, "disabled");
else dom.removeclass(first, "disabled");
if (this.page == 1) dom.addclass(prev, "disabled");
else dom.removeclass(prev, "disabled");
if (totalpage == 0 || this.page == totalpage) dom.addclass(next, "disabled");
else dom.removeclass(next, "disabled");
if (totalpage == 0 || this.page == totalpage) dom.addclass(last, "disabled");
else dom.removeclass(last, "disabled");
ul.children[2].innerhtml = this.pagesize + "条每页";
ul.children[3].children[1].innerhtml = totalpage + "页";
}
})();
//上传
(function(){
window.uploader = function(input) {
init.call(this, input);
}
var fn = uploader.prototype;
function init(input) {
if (typeof(input) == "string")
input = dom.get(input);
this.input = input;
var progressbar = this.progressbar = dom.create("上传中...");
dom.insertafter(input, progressbar);
}
//上传
fn.upload = function(callback, args) {
var me = this;
if (this.input.value == "") return;
this.progressbar.style.display = "inline"; //开进度条
this.progressbar.innerhtml = "上传中...";
this.progressbar.style.color = "orange";
this.tempinput = this.input.clonenode(true);
this.input.parentnode.insertbefore(this.tempinput, this.input);
var iframe_id = dom.createid("iframe_upload_");
var iframe = this.iframe = document.body.appendchild(dom.create("