Javascript Internet Explorer对象预期错误
Internet Explorer对象应为错误行:64 该代码适用于Firefox和Chrome。 我不断收到Internet explorer对象预期错误。我删除了受折磨的代码,它一直在运行 直到第64行之后的任何代码消失 问题从第64行开始,代码如下: 痛苦代码: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
$(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
的所有子级?这是怎么回事?