我有一个标签式菜单系统,并在选项卡上单击将特定页面加载到选项卡相关的div。
目前我有一系列以下功能。每个选项卡的一个集合,这使得一些非常丑陋的代码。我能做些什么来简化和减少重复吗?
每个“TAB”实例都是已单击的选项卡的名称。 {%url ...%}部分是Django动态网址。
我在想,如果将标签名称和网址放入各种类型的数组中,它至少可以使所有功能集中创建。但是,还有进一步简化它吗?
感谢您的帮助。
function loadTABlog() {
$("#TABlog").load("{% url list_TABlog person.id %}", function(response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error: ";
$("#TABlog").html(msg + xhr.status + " " + xhr.statusText);
}
});
return false;
};
$("#loadTABlog").click(function() {
$("#TABlog").empty().html('<img src="{{ STATIC_URL }}loading.gif" class="ajaxloader" />');
loadTABlog();
});
答案 0 :(得分:0)
我试着让它成为数据驱动的。
的内容var tabs = [
{activator: "#loadTabLog",
element: "#tabLog",
url: "{% url list_tab_log 9000 %}"},
...
];
迭代它,分配处理程序:
for (var i = 0; i < tabs.length; ++i) {
var t = tabs[i];
$(t.activator).click(function() {
$(t.element).empty().html("<img>");
...
$(t.element).load(t.url.replace("9000", actual_user_id), ...);
});
}