当前位置:编程学习 > C#/ASP.NET >>

看看 我这代码那里出了问题 总是出现缺少对象 以后才出效果

        var xmlhttp = null;
        var currentStep = 0;
        var gseq = 1;
        var gLastDetailImgObj = null;
        var innerTR;
        function gatXY(eId, bid, line) {
            $('#tab2 tr').each(function() {
                $(this).css("background-color", "");
                $(this).css("color", "#fff");
            });
            
            var seq = $(line).children("td").html();
            $(line).css("background-color", "#888");
            $(line).css("color", "red");
            currentStep = seq;
            if (window.ActiveXObject) {// code for IE5 and IE6
                xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
            }
            else if (window.XMLHttpRequest) {// code for all new browsers
                xmlhttp = new XMLHttpRequest();
            }
            //找到名为“Text1”的文本框
            //var name=document .getElementById ("DropDownList1");
            //利用Open方法向指定URL

            //查询字符串“name”将文本框中的数据传送到目标页面
            if (xmlhttp != null) {
                //设置当服务器响应返回时用于处理响应的函数名
                xmlhttp.onreadystatechange = OnsMessageBack;

                xmlhttp.open("GET", "droplist.aspx?id=" + bid, true);

                //送发请求
                xmlhttp.send(null);
               
             
                  
              
            }
            else {
                alert("Your browser does not support XMLHTTP!");
            }
        }
    
        function OnsMessageBack() {
            //判断请求状态及HTTP状态是否都能满足条件
       
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {

                var newDivId = null;
                var evt = getEvent();
                var imgObj = evt.srcElement || evt.target;
                var tr = getOuterObj(imgObj, 'TR'); // 得到tr对象
                if (!tr.newDivId) {
                debugger
                    var newTr = document.createElement("TR"); // 创建tr
                    var newTd = document.createElement("td"); // 创建td
                    innerTR = xmlhttp.responseText;
                    newTd.setAttribute("colSpan", tr.children.length);
                    newTd.setAttribute("style", "background-color:#f2f09f");
                    newTd.style.backgroundColor = "#f2f09f";
                    newDivId = 'detaildiv' + (gseq++); // 每一行内嵌的divID,每一行的ID都不同
                    var newDiv = document.createElement("div"); // 创建div
                    newDiv.setAttribute("ID", newDivId);
                    newTr.appendChild(newTd); // tr中添加td
                    $(newDiv).html(innerTR);
                    newTd.appendChild(newDiv); // td中添加div
                    tr.parentNode.insertBefore(newTr, tr.nextSibling); // 必须通过tr的父节点才能用insertBefore,表示插入某个元素,这里表示在tr下个元素的前面(tr的后面)插入一行
                    tr.newDivId = newDivId; // 把新生成的div的ID赋给DIV
                }
                switchVisible(imgObj); // 控制展开还是合上内嵌表格
                if (gLastDetailImgObj != imgObj) {
                    switchVisible(gLastDetailImgObj);
                    gLastDetailImgObj = imgObj;
                }
                else {
                    gLastDetailImgObj = null;
                }
              
            }
            else {
                document.getElementById("dirlist").innerHTML = "";
            }
        }
        function divhidde() {
            document.getElementById('Layer1').style.display = 'none';

        }

        function switchVisible(imgObj) {
            if (!imgObj) return; // 如果imgObj对象为空,则返回
            var tr = getOuterObj(imgObj, 'TR');
            var pvisible = ('true' != tr.currentVisibility);
            tr.currentVisibility = (pvisible ? 'true' : 'false'); // pvisible为真时,tr.currentVisibility为true;pvisible为假时,tr.currentVisibility为false;
            tr.nextSibling.style.display = (pvisible ? '' : 'none'); // pvisible为真时,tr.nextSibling.style.display为'';pvisible为假时,tr.nextSibling.style.display为none;
        }
        //取得对象外围符合指定标签的第一个对象
        function getOuterObj(obj, tagName) {
            while (obj != null) {
                if (obj.tagName == tagName)
                    return obj;
                obj = obj.parentNode;
            }
            return null;
        }


        function getEvent() {
            if (document.all) {

                return window.event; //如果是ie
            }
            func = getEvent.caller;
            while (func != null) {
                var arg0 = func.arguments[0];
                if (arg0) {
                    if ((arg0.constructor == Event || arg0.constructor == MouseEvent) || (typeof (arg0) == "object" && arg0.preventDefault && arg0.stopPropagation)) {

                        return arg0;
                    }
                }
                func = func.caller;
            }
            return null;
        }
--------------------编程问答-------------------- 怎么JQUERY和JS混合用呢,错误提示有说哪句错误吗

你用jquery的ajax函数将这些代码精简一下 --------------------编程问答-------------------- var imgObj = evt.srcElement || evt.target;  //这句 是错误代码 



--------------------编程问答--------------------

var evt = getEvent();
var imgObj = evt.srcElement || evt.target;
替换成
var evt =evt ||window.event; //不使用你的那个getEvent()方法试试
var imgObj  = evt.srcElement||evt.target;

--------------------编程问答-------------------- 我 试了 一样的 效果  啊。。。 --------------------编程问答-------------------- 求解 啊 急啊  --------------------编程问答-------------------- js这样看很头疼  建议用FireFox的附加组件FireBug调试一下去  --------------------编程问答-------------------- 在次求解 急用  啊 --------------------编程问答-------------------- 为什么没人回答啊
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,