Javascript IE不';无法正确运行远程JS,但本地运行正常

Javascript IE不';无法正确运行远程JS,但本地运行正常,javascript,jquery,html,css,internet-explorer,Javascript,Jquery,Html,Css,Internet Explorer,我的页面在除IE 10之外的所有浏览器中都能正常工作。当我在IE10中本地运行这个页面时,似乎没有任何问题,只有当我用IE10远程打开页面时 JavaScript应该使用主文本测量div,并设置屏幕外div的高度和宽度。这是IE 10做的不对。必须设置这些div的宽度,否则在单击菜单中的项目时,将无法正确设置动画 我对不推荐使用的函数进行了检查,但没有发现任何函数。 我检查了语法,没有任何错误。(据我所知) IE中的控制台不报告任何错误 有人知道为什么在本地,它可以在每个浏览器中正常工作,但在远

我的页面在除IE 10之外的所有浏览器中都能正常工作。当我在IE10中本地运行这个页面时,似乎没有任何问题,只有当我用IE10远程打开页面时

JavaScript应该使用主文本测量div,并设置屏幕外div的高度和宽度。这是IE 10做的不对。必须设置这些div的宽度,否则在单击菜单中的项目时,将无法正确设置动画

我对不推荐使用的函数进行了检查,但没有发现任何函数。 我检查了语法,没有任何错误。(据我所知) IE中的控制台不报告任何错误

有人知道为什么在本地,它可以在每个浏览器中正常工作,但在远程,唯一显示它的浏览器是IE吗

编辑:

我已经删除了init中的函数括号,以便DOM可以启动,尽管这并没有解决问题

脚本(嵌入页面头部):


var mainTextDiv=null;
变量动画;
var acc=0;
var currentTab=“主页”;
var nextTab;
var=0;
var-bar=600;
var-divW;
函数init(){
onWC(currentTab);
document.getElementById(currentTab).style.width='auto';
divW=document.getElementById(currentTab).offsetWidth;
document.getElementById(“home”).style.width=divW+“px”;
document.getElementById(“profile”).style.width=divW+“px”;
document.getElementById(“news”).style.width=divW+“px”;
document.getElementById(“论坛”).style.width=divW+“px”;
document.getElementById(“webshop”).style.width=divW+“px”;
document.getElementById(“status”).style.width=divW+“px”;
}
函数onWC(选项卡){
var divh=document.getElementById(制表符).offsetHeight;
document.getElementById('tabcontainer').style.height=(divh+50)+“px”;
}
函数moveDiv(tabName){
如果(currentTab==tabName){
返回;
}
如果(工作==1){
返回;
}
工作=1;
nextTab=tabName;
移除iv();
}
函数removeDiv(){
mainTextDiv=document.getElementById(currentTab);
mainTextDiv.style.left=parseInt(mainTextDiv.style.left)+(0.5+acc)+“px”;
if(parseInt(mainTextDiv.style.left)>2000){
mainTextDiv.style.left=2000+“px”;
onWC(nextTab);
getDiv();
返回;
}
acc+=0.15;
动画=设置超时(removeDiv,10);
}
函数getDiv(){
mainTextDiv=document.getElementById(nextTab);
mainTextDiv.style.left=parseInt(mainTextDiv.style.left)-(0.5+acc)+“px”;

if(parseInt(mainTextDiv.style.left)将
window.onresize=init();
更改为
window.onresize=init;


目前,
init()
正在尝试在加载JS文件时立即运行,这会引发错误,因为DOM尚未加载。

控制台中会出现什么消息(如果有)吗?是否清除了缓存?问题是否只发生在IE中?粘贴的代码是.JS文件吗?@Paul噢,谢谢,我不知道我能看到…:无法离开高度t来自未定义或空元素您的网页有许多验证错误,您可能需要检查这些错误。具体来说,您缺少了一个
,我认为您的
DOCTYPE格式不好。这没有帮助,因为在调整页面大小时会调用onresize,这通常只会发生当页面已经加载时。如果您检查控制台,您应该不会再看到offsetHeight from non defined或empty element错误。您是正确的,window.onresize在页面加载之前不会运行,但是,当将window.onresize设置为init()时,您实际上是将其设置为init()的返回值,表示函数正在立即运行。通过删除“()”,您正在阻止函数在首次加载文件时运行,它只应在onresize事件发生时运行。@Teemu是的,我尝试过它。您可以在我的页面上看到新上载的代码。那么它现在到底是哪一步失败了?应该发生什么而不是?您可以在JSFIDLE中复制问题?@theJowBiz它没有发生在JSFIDLE中。我将更新解释。
<script src="scripts/jquery-1.10.1.min.js"></script>
<script>
var mainTextDiv = null;
var animate;
var acc = 0;
var currentTab = "home";
var nextTab;
var working = 0;
var bar = 600;
var divW;

function init(){


    onWC(currentTab);
    document.getElementById(currentTab).style.width = 'auto';
    divW = document.getElementById(currentTab).offsetWidth;
    document.getElementById("home").style.width = divW + "px";
    document.getElementById("profile").style.width = divW + "px";
    document.getElementById("news").style.width = divW + "px";
    document.getElementById("forums").style.width = divW + "px";
    document.getElementById("webshop").style.width = divW + "px";
    document.getElementById("status").style.width = divW + "px";

}

function onWC(tab){
    var divh = document.getElementById(tab).offsetHeight;
    document.getElementById('tabcontainer').style.height = ( divh + 50 ) + "px";
}
function moveDiv(tabName){
    if (currentTab == tabName){
        return;
    }
    if (working == 1){
        return;
    }
    working = 1;
    nextTab = tabName;
    removeDiv();
}
function removeDiv(){
    mainTextDiv = document.getElementById(currentTab);
    mainTextDiv.style.left = parseInt(mainTextDiv.style.left) + (0.5+acc) + "px";
    if (parseInt(mainTextDiv.style.left) > 2000){
        mainTextDiv.style.left = 2000 + "px";
        onWC(nextTab);
        getDiv();
        return;
    }

    acc += 0.15;

    animate = setTimeout(removeDiv,10);
}
function getDiv(){
    mainTextDiv = document.getElementById(nextTab);
    mainTextDiv.style.left = parseInt(mainTextDiv.style.left) - (0.5+acc) + "px";   
    if (parseInt(mainTextDiv.style.left) <= 0){
        mainTextDiv.style.left = 0 + "px";
        currentTab = nextTab;
        working = 0;
        return;
    }

    acc -= 0.15;

    animate = setTimeout(getDiv,15);
}
window.onload = init;
window.onresize = init;

$(function() {
    $("#menu ul li a").hover(
        function(){
            $(this).css("background-color", "#525252");
            $(this).css("color", "#FFF");
        },
        function() {
            $(this).css("background-color", "#FFF");
            $(this).css("color", "#525252");
        }
    );
});
</script>