您的位置:首页 > 编程语言 > Go语言

django实现tab页思路!

2015-10-22 10:20 435 查看
首先是在主页js里动态加载tab页需要的js

方法:

function addScript(jsfile,callback){
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.onload = script.onreadystatechange = function() {
if (!this.readyState || this.readyState === "loaded" ||    this.readyState === "complete" ) {
script.onload = script.onreadystatechange = null;
if(callback&&typeof(callback)== 'function'){
callback();
}
}
};
script.src= jsfile;
head.appendChild(script);
}

function jsLoaded(){
alert('ok');
}
调用方式,在需要的地方
addScript(js路径,jsLoaded);

问题出在 django模板需要{% static 'MoudleBaseJs/menu_manage.js' %}这种格式 所以 放到js路径里根本找不到。

-------

各个业务js用function包含可以有效限制变量污染问题:因为js是函数作用域,在函数体内只要var声明就只作用于当前业务js里不会污染全局同名js,

另外可以不加var声明 来引用主页的全局变量。

-------

tab页里动态加载分离的html调用jquery的load方法:

$("#center2").load("BaseMoudule/GetLoad #menu_manage");  #menu_manage为分离html的dom的id 意思是将主页id为center2的dom下增加分离html里id为menu_mang的dom为子级

------------------------------------------------------------------------------------------------------------------------------------------

解决{% static 'MoudleBaseJs/menu_manage.js' %}这种格式  所以 放到js路径里根本找不到。

直接改变路径为 addScript("static/MoudleBaseJs/menu_manage.js",jsLoaded);
不需要加%static%这样的引入静态文件的特殊字符
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: