js - 多个函数动态加载

    //动态添加物流锁的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时,请求对应的详细信息.

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。