让我们首先说我的代码完全正常,没有问题。 我只想用一个很好的类来包装它,以便将来动态使用,我想知道如何以最正确的方式在Javascript中做到这一点。
load_server是一个放置Ajax请求的函数。 pagination()/ itemlinks()是遍历检索到的数据并标记链接以供将来使用Ajax的函数。 我目前在函数中编写所有内容并将其转储到代码中,但我想创建类似的东西:
function ajaxRequest(type, link, container) {
this.after_success = null;
this.check_pagination = true;
if(typeof(type)) == ‘undefined’) this.type='';
if(typeof(link)) == ‘undefined’) this.link='';
if(typeof(container)) == ‘undefined’) this.container='';
this.pagination=function() {
//static function..
};
this.load_server=function () {
//function logic here..
};
while(mainReq.after_success) {
func();
}
}
var mainReq = new ajaxRequest{'link'};
mainReq.after_success = {
itemlinks = function() { },
morefunc = function() { }
};
mainReq.submit();
我目前使用以下jQuery代码:
load_server = function (type, link, container) {
$(container).html("<div class='mask-loading'>Loading ...</div>");
$(container).load(getUrl,
function(responseText, textStatus, XMLHttpRequest) { //Callback function.
if(textStatus=='success') {
pagination_render();
itemlinks();
}
else {
$(container).html("We are sorry, but there was an error with your request.<br />Please try again.");
}
});
}
var pagination_render = function() {
var pagination = $('.pagination a');
pagination.each(function() {
$(this).click(function(event) {
console.log(this.href);
load_server('page', this.href, '#tab1');
return false;
});
});
};
pagination_render(); //init any pagination files
其他功能是相同的,所以不需要在它们周围飞溅..
答案 0 :(得分:6)
如果您想在Javascript中使用类和继承,请查看Mootools或John Resig's blog。
注意:两者都受到Dean Edward's Base.js的启发。