Javascript Internet Explorer对象预期错误

Javascript Internet Explorer对象预期错误,javascript,jquery,css,Javascript,Jquery,Css,Internet Explorer对象应为错误行:64 该代码适用于Firefox和Chrome。 我不断收到Internet explorer对象预期错误。我删除了受折磨的代码,它一直在运行 直到第64行之后的任何代码消失 问题从第64行开始,代码如下: 痛苦代码: $(document).ready(function () { preload(preloadi); }); <script type="text/javascript" src="http://c

Internet Explorer对象应为错误行:64

该代码适用于Firefox和Chrome。

我不断收到Internet explorer对象预期错误。我删除了受折磨的代码,它一直在运行 直到第64行之后的任何代码消失

问题从第64行开始,代码如下:

痛苦代码:

$(document).ready(function () {
    preload(preloadi);
});
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>           
        <script type="text/javascript"> 

/* -------------------------------- Preload images function for speed*/

    function preload(arrayOfImages) {
        $('body').addClass("loading");
        $(arrayOfImages).each(function () {
            $('<img/>')[0].src = this;
        });
        $('body').removeClass("loading");
    }

/* -------------------------------- Generic functionality function */

    function transformImage(classCSS, original, link, backArray, count, prevClass) {
        var back = '<div id="back"><div id="_' + backArray[backArray.length-1] + '"></div></div><div class="_0"></div><div class="_1"></div><div class="_4"></div><a id="contact" href="mailto:pbn@casa.gov.au"></a><a id="rightlink" target="_blank" href="http://www.casa.gov.au/scripts/nc.dll?WCMS:STANDARD::pc=PC_101078"></a>';

        link[prevClass] = window.original;
        window.original = link[classCSS];

        if (classCSS != '0') { link[classCSS] += back; }

        $('.inter').fadeTo(250, 0.25, function () {

            $('.inter').html(link[classCSS]);


            $('.inter').css({
                'background-image': 'url("' + classCSS + '.png")'
            });
            $('.inter').fadeTo(250, 1.00);
        });
    }

/* -------------------------------- Variables */
    var preloadi = [
        '1.png',
        '2.png'
        ];  
    var backArray = [];
    var prevClass = '0';
    var classCSS = '0';
    var count = 0;
    original = '<div class="_2"></div><div class="_3"></div>';
    var link = [
    '<div class="_2"></div><div class="_3"></div>',
    'a',
    'b',
    'c',
    'd'
    ];

/* -------------------------------- Event handlers */

    $(document).ready(function () {
        preload(preloadi);
    });

    $(document).on('mouseenter mouseleave', '.inter [class]', function (event) {
        $('.' + this.classCSS + 't').toggle(event.type === 'mouseenter');
    });

    $(document).on('change', '#selectContainer [id]', function () {
    backArray[count] = classCSS;
    count += 1;
    prevClass = classCSS;

    classCSS = $("select").val();
    transformImage(classCSS, original, link, backArray, count, prevClass); 
    })

    $(document).on('click', '.inter [class], .inter #back [id]', function () {

    if (this.id) { 
    count -= 1; 
    backArray.pop(count);  
    } else { 
    backArray.push(classCSS);
    count += 1;
    }

    prevClass = classCSS;
    classCSS = (this.id || this.className).substr(1);
    transformImage(classCSS, original, link, backArray, count, prevClass); 
    })  

    </script> 
所有JQUERY代码:

$(document).ready(function () {
    preload(preloadi);
});
        <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>           
        <script type="text/javascript"> 

/* -------------------------------- Preload images function for speed*/

    function preload(arrayOfImages) {
        $('body').addClass("loading");
        $(arrayOfImages).each(function () {
            $('<img/>')[0].src = this;
        });
        $('body').removeClass("loading");
    }

/* -------------------------------- Generic functionality function */

    function transformImage(classCSS, original, link, backArray, count, prevClass) {
        var back = '<div id="back"><div id="_' + backArray[backArray.length-1] + '"></div></div><div class="_0"></div><div class="_1"></div><div class="_4"></div><a id="contact" href="mailto:pbn@casa.gov.au"></a><a id="rightlink" target="_blank" href="http://www.casa.gov.au/scripts/nc.dll?WCMS:STANDARD::pc=PC_101078"></a>';

        link[prevClass] = window.original;
        window.original = link[classCSS];

        if (classCSS != '0') { link[classCSS] += back; }

        $('.inter').fadeTo(250, 0.25, function () {

            $('.inter').html(link[classCSS]);


            $('.inter').css({
                'background-image': 'url("' + classCSS + '.png")'
            });
            $('.inter').fadeTo(250, 1.00);
        });
    }

/* -------------------------------- Variables */
    var preloadi = [
        '1.png',
        '2.png'
        ];  
    var backArray = [];
    var prevClass = '0';
    var classCSS = '0';
    var count = 0;
    original = '<div class="_2"></div><div class="_3"></div>';
    var link = [
    '<div class="_2"></div><div class="_3"></div>',
    'a',
    'b',
    'c',
    'd'
    ];

/* -------------------------------- Event handlers */

    $(document).ready(function () {
        preload(preloadi);
    });

    $(document).on('mouseenter mouseleave', '.inter [class]', function (event) {
        $('.' + this.classCSS + 't').toggle(event.type === 'mouseenter');
    });

    $(document).on('change', '#selectContainer [id]', function () {
    backArray[count] = classCSS;
    count += 1;
    prevClass = classCSS;

    classCSS = $("select").val();
    transformImage(classCSS, original, link, backArray, count, prevClass); 
    })

    $(document).on('click', '.inter [class], .inter #back [id]', function () {

    if (this.id) { 
    count -= 1; 
    backArray.pop(count);  
    } else { 
    backArray.push(classCSS);
    count += 1;
    }

    prevClass = classCSS;
    classCSS = (this.id || this.className).substr(1);
    transformImage(classCSS, original, link, backArray, count, prevClass); 
    })  

    </script> 

/*-------------------------------------预加载图像功能以提高速度*/
功能预加载(阵列图像){
$('body').addClass(“加载”);
$(arrayOfImages)。每个(函数(){
$('';
link[prevClass]=window.original;
window.original=链接[classCSS];
if(classCSS!=“0”){link[classCSS]+=back;}
$('.inter').fadeTo(250,0.25,函数(){
$('.inter').html(链接[classCSS]);
$('.inter').css({
“背景图像”:“url(“'+classCSS+'.png”)”
});
美元("国际").法德托(250,1.00),;
});
}
/*-------------------------------------变量*/
变量i=[
“1.png”,
“2.巴布亚新几内亚”
];  
var backArray=[];
var-prevClass='0';
var classCSS='0';
var计数=0;
原件=“”;
变量链接=[
'',
“a”,
“b”,
"c",,
“d”
];
/*-------------------------------------事件处理程序*/
$(文档).ready(函数(){
预载荷(PRELOLI);
});
$(文档).on('mouseenter mouseleave','.inter[class]',函数(事件){
$('.'.+this.classCSS+'t').toggle(event.type=='mouseenter');
});
$(文档)。在('change','#selectContainer[id]',函数()上{
backArray[count]=classCSS;
计数+=1;
prevClass=classCSS;
classCSS=$(“选择”).val();
transformImage(classCSS、原始、链接、反向数组、计数、prevClass);
})
$(文档).on('click','.inter[class],.inter#back[id]),函数(){
如果(this.id){
计数-=1;
backArray.pop(count);
}否则{
backArray.push(classCSS);
计数+=1;
}
prevClass=classCSS;
classCSS=(this.id | | this.className).substr(1);
transformImage(classCSS、原始、链接、反向数组、计数、prevClass);
})  

您的文档就绪处理程序太短

$(document).ready(function () {
   preload(preloadi);
});  // Document ready ends here.
因此,它下面的所有内容都是在DOM准备就绪之前执行的

将结束符
});
移动到所有事件处理程序代码下面,它应该可以工作,但可能会出现任何其他编码错误

你应该做的是:

$(document).ready(function () {
  preload(preloadi);

  $(document).on('mouseenter mouseleave', '.inter [class]', function (event) {
    $('.' + this.classCSS + 't').toggle(event.type === 'mouseenter');
 });

 // more initialisation code...

});  // end of $(document).ready()

// No more code here.

我将ready函数移到事件处理程序代码下面。IE错误只会转到下一行。这是:“$(document).on('mouseenter mouseleave','.inter[class]',function(event){$('.+this.classCSS+'t')。toggle(event.type=='mouseenter');}”是否移动了整个函数,还是仅移动了右括号?您需要将事件处理程序包含在ready函数中。如果不移动,IE将尝试过快地执行它们。我移动了,错误仍然存在,加上一些对象预期的错误。不是$(文档).on等待直到dom就绪?或者这在IE中不起作用?不-它不会等待。这就是为什么要将所有代码包含在$(document)中。ready(function(){//all your initialization code});按上述方式包装代码。3个对象预期错误现在存在。1位于脚本的第一行(空行)另外两个在.ready函数的开头。您的一些选择器不常见。什么是
'#selectContainer[id]
[id]
part选择具有
id
属性的元素。您是在选择具有
id
属性的
#selectContainer
的所有子元素吗?类似于
'.inter[class],.inter#back[id]“
:我们是否选择具有
类属性的
.inter
的所有子级,以及具有
id
属性的
.inter#back
的所有子级?这是怎么回事?