js - 多个函数动态加载

时间:2021-07-15 23:31:59
    //动态添加物流锁的IEMI列表.
function createLi() {
var r = '<s:property value="#session.locks"/>';
if (!r)
return;
//部门名称.
var department = document.getElementById('department');
var departmentName = '<s:property value="#session.departmentName"/>';
department.innerHTML = '<h3>' + departmentName + '</h3>';
//IEMI列表.
var IEMEArr = JSON.parse(r);
for ( var i = 0; i < IEMEArr.length; i++) {
//IEMI项.
var li = document.createElement("li");
var lockIMEI = IEMEArr[i];
li.innerHTML = "<a>" + lockIMEI + "</a>";
li.className = 'sliderTag';
//添加IEMI.
var ul = document.getElementById("sliderNav");
ul.appendChild(li);
} }
//点击锁编号时,执行ajax请求.
function lock_request() {
//对id为'sliderNav'的ul中的li执行操作.
$("#sliderNav li").click(function() {
var idx = $(this).index();
//第一个li为'单位名,不操作.
if(0 === idx)
return;
var params = {
lockIMEI : $(this).text()
};
$.ajax({
type : "POST",
cache: false,
async :true,
//当struts.xml文件的配置中package的namespace不为'/'时('sys_v27'为项目名).
url : "/sys_v27/locks/Lock_queryMapByAttSuccess",
data : params,
dataType : "text", //json格式对于map的json格式竟然不起作用(IE10).
//contentType: "application/x-www-form-urlencoded; charset=utf-8",
success : function(json) {
var obj = $.parseJSON(json); //使用这个方法解析json
var lockJson = obj.result; //result是和action中定义的result变量的get方法对应的
addMarker(lockJson); },
error : function(json) {
handle_err(json);
return false;
}
});
});
} //自动加载js的函数.
function addLoadEvent(func) {
var oldonload = window.onload;
if (typeof window.onload != 'function') {
window.onload = func;
} else {
window.onload = function() {
oldonload();
func();
};
}
}
//--自动加载.
addLoadEvent(new Function("mapInit();"));
addLoadEvent(new Function("createLi();"));
addLoadEvent(new Function("lock_request();"));

  使用自定义js函数:addLoadEvent, 可以多次指定'自动执行'的js函数. 本例中, 指定加载'地图', 即mapInit() 函数, 自动加载'物流车'列表, 注册ajax请求:当点击物流锁的li时,请求对应的详细信息.