首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

jsp在IE和火狐中不兼容有关问题

2012-04-11 
jsp在IE和火狐中不兼容问题以下是用js写的一段代码,在IE下正常,在火狐和谷歌下不行,请问要如何更改,谢谢!J

jsp在IE和火狐中不兼容问题
以下是用js写的一段代码,在IE下正常,在火狐和谷歌下不行,请问要如何更改,谢谢!

JScript code
    function id(obj) {        return document.getElementById(obj);    }    var page;    var lm, mx;    var md = false;    var sh = 0;    var en = false;    window.onload = function () {        page = id("div1").getElementsByTagName("div"); //document.getElementsByTagName("div");        if (page.length > 0) {            page[0].style.zIndex = 2;        }        for (i = 0; i < page.length; i++) {            page[i].className = "page1";            page[i].innerHTML += "<span class=tip1>第 " + (i + 1) + "/" + page.length + " 页 提示:左右拖拽翻页</span>";            page[i].id = "page1" + i;            page[i].i = i;            page[i].onmousedown = function (e) {                if (!en) {                    if (!e) { e = e || window.event; }                    lm = this.offsetLeft;                    mx = (e.pageX) ? e.pageX : e.x;                    this.style.cursor = "w-resize";                    md = true;                    if (document.all) {                                                   this.setCapture();                                          } else {                        window.captureEvents(Event.MOUSEMOVE | Event.MOUSEUP);                    }                }            }            page[i].onmousemove = function (e) {                if (md) {                    en = true;                    if (!e) { e = e || window.event; }                    var ex = (e.pageX) ? e.pageX : e.x;                    this.style.left = ex - (mx - lm) + 350;                    if (this.offsetLeft < 75) {                        var cu = (this.i == 0) ? page.length - 1 : this.i - 1;                        page[sh].style.zIndex = 0;                        page[cu].style.zIndex = 1;                        this.style.zIndex = 2;                        sh = cu;                    }                    if (this.offsetLeft > 75) {                        var cu = (this.i == page.length - 1) ? 0 : this.i + 1;                        page[sh].style.zIndex = 0;                        page[cu].style.zIndex = 1;                        this.style.zIndex = 2;                        sh = cu;                    }                }            }            page[i].onmouseup = function () {                this.style.cursor = "default";                md = false;                if (document.all) {                                         this.releaseCapture();                                   } else {                    window.releaseEvents(Event.MOUSEMOVE | Event.MOUSEUP);                }                flyout(this);            }        }    }    function flyout(obj) {        if (obj.offsetLeft < 75) {            if ((obj.offsetLeft + 350 - 20) > -275) {                obj.style.left = obj.offsetLeft + 350 - 20;                window.setTimeout("flyout(id('" + obj.id + "'));", 0);            } else {                obj.style.left = -275;                obj.style.zIndex = 0;                flyin(id(obj.id));            }        }        if (obj.offsetLeft > 75) {            if ((obj.offsetLeft + 350 + 20) < 1125) {                obj.style.left = obj.offsetLeft + 350 + 20;                window.setTimeout("flyout(id('" + obj.id + "'));", 0);            } else {                obj.style.left = 1125;                obj.style.zIndex = 0;                flyin(id(obj.id));            }        }    }    function flyin(obj) {        if (obj.offsetLeft < 75) {            if ((obj.offsetLeft + 350 + 20) < 425) {                obj.style.left = obj.offsetLeft + 350 + 20;                window.setTimeout("flyin(id('" + obj.id + "'));", 0);            } else {                obj.style.left = 425;                en = false;            }        }        if (obj.offsetLeft > 75) {            if ((obj.offsetLeft + 350 - 20) > 425) {                obj.style.left = obj.offsetLeft + 350 - 20;                window.setTimeout("flyin(id('" + obj.id + "'));", 0);            } else {                obj.style.left = 425;                en = false;            }        }    } 



[解决办法]
ie9+非IE都是使用
addEventListener
了,captureEvents已经过时了

https://developer.mozilla.org/en/DOM/element.addEventListener

热点排行