一个简单的jQuery脚本在IE中不起作用-认为jQuery是跨平台的!
有人能解释一下为什么下面的脚本在IE8中不起作用吗。这是一个非常简单的动画,在FF中效果非常好。 我包括测试文件中显示的cssjs和HTML一个简单的jQuery脚本在IE中不起作用-认为jQuery是跨平台的!,jquery,internet-explorer,jquery-animate,Jquery,Internet Explorer,Jquery Animate,有人能解释一下为什么下面的脚本在IE8中不起作用吗。这是一个非常简单的动画,在FF中效果非常好。 我包括测试文件中显示的cssjs和HTML <style> .linkholder{ display:block; float:left; position:relative; margin:15px; overflow:hidden; } .linkholder img{
<style>
.linkholder{
display:block;
float:left;
position:relative;
margin:15px;
overflow:hidden;
}
.linkholder img{
border:none;
max-height:200px;
max-width:150px;
}
}
.bwcover{
position:absolute;
left:0;
top:0;
display:none;
}
.colorlink{
position:absolute;
left:0;
top:0;
}
</style>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
jQuery(document).ready(function(){
jQuery(".linkholder").each(function(i){
var wid = jQuery(this).find(".colorlink").outerWidth();
jQuery(this).width(wid);
var hei=jQuery(this).find(".colorlink").outerHeight();
jQuery(this).height(hei);
});
jQuery(".colorlink").fadeTo("fast",0.05);
jQuery(".bwcover").fadeTo("fast",.25);
anibase = jQuery(".linkholder").length;
function heartbeat(){
newanigo();
jQuery(".bwcover").eq(anigo)
.animate({opacity:.45,},1200,"linear")
.delay(300)
.animate({opacity:.15},500,"linear")
.animate({opacity:.25},350);
jQuery(".colorlink").eq(anigo)
.animate({opacity:.9,},1200,"linear")
.animate({opacity:.05,},750,"linear");
function newanigo() {anigo = Math.floor(Math.random()*(anibase))};
var t=setTimeout(heartbeat,4000);
};
heartbeat();
jQuery(".linkholder").hover(
function () {
if(jQuery(this).find(".bwcover").is(":animated")){
jQuery(this).find(".bwcover").stop(true,true);
};
jQuery(this).find(".colorlink").fadeTo("slow",1);
jQuery(this).find(".bwcover" ).fadeOut("slow");
},
function () {
if(jQuery(this).find(".bwcover").is(":animated")){
jQuery(this).find(".bwcover").stop(true,true);
};
jQuery(this).find(".bwcover").fadeTo("fast",.25);
jQuery(this).find(".colorlink").fadeTo("slow",.05);
}
);
});
</script>
<body>
<div class="linkholder">
<div class="colorlink"><a href="#"><img src="DSCN3080.JPG" alt="" /></a></div>
<div class="bwcover"><img src="DSCN3080bw.jpg" alt="" /></div>
</div>
<div class="linkholder">
<div class="colorlink"><a href="#"><img src="relief2.jpg" alt="" /></a></div>
<div class="bwcover"><img src="relief2bw.jpg" alt="" /></div>
</div>
<div class="linkholder">
<div class="colorlink"><a href="#"><img src="elegantbook.jpg" alt="" /></a></div>
<div class="bwcover"><img src="elegantbookbw.jpg" alt="" /></div>
</div>
<div class="linkholder">
<div class="colorlink"><a href="#"><img src="DSCN3080.JPG" alt="" /></a></div>
<div class="bwcover"><img src="DSCN3080bw.jpg" alt="" /></div>
</div>
<div class="linkholder">
<div class="colorlink"><a href="#"><img src="DSCN3080.JPG" alt="" /></a></div>
<div class="bwcover"><img src="DSCN3080bw.jpg" alt="" /></div>
</div>
</body>
.linkholder{
显示:块;
浮动:左;
位置:相对位置;
利润率:15px;
溢出:隐藏;
}
.linkholder img{
边界:无;
最大高度:200px;
最大宽度:150px;
}
}
.bwcover{
位置:绝对位置;
左:0;
排名:0;
显示:无;
}
.colorlink{
位置:绝对位置;
左:0;
排名:0;
}
jQuery(文档).ready(函数(){
jQuery(“.linkholder”)。每个函数(i){
var wid=jQuery(this.find(“.colorlink”).outerWidth();
jQuery(this).width(wid);
var hei=jQuery(this.find(“.colorlink”).outerHeight();
jQuery(this).高度(hei);
});
jQuery(“colorlink”).fadeTo(“fast”,0.05);
jQuery(“.bwcolve”).fadeTo(“fast”,.25);
anibase=jQuery(“.linkholder”)。长度;
函数heartbeat(){
纽瓦尼戈();
jQuery(“.bwcolver”).eq(anigo)
.animate({opacity:.45,},1200,“线性”)
.延迟(300)
.animate({opacity:.15},500,“线性”)
.animate({opacity:.25},350);
jQuery(“.colorlink”).eq(anigo)
.animate({opacity:.9,},1200,“线性”)
.animate({opacity:.05,},750,“线性”);
函数newanigo(){anigo=Math.floor(Math.random()*(anibase))};
var t=设置超时(心跳,4000);
};
心跳();
jQuery(“.linkholder”)。悬停(
函数(){
如果(jQuery(this.find(“.bwcolver”).is(“:animated”)){
jQuery(this.find(“.bwcolver”).stop(true,true);
};
jQuery(this.find(“.colorlink”).fadeTo(“slow”,1);
jQuery(this.find(“.bwcolver”).fadeOut(“slow”);
},
函数(){
如果(jQuery(this.find(“.bwcolver”).is(“:animated”)){
jQuery(this.find(“.bwcolver”).stop(true,true);
};
jQuery(this.find(“.bwcolve”).fadeTo(“fast”,.25);
jQuery(this.find(“.colorlink”).fadeTo(“slow”,.05);
}
);
});
我很惊讶,因为我认为jQuery的全部意义在于它是跨平台的,我们不必担心我们可爱的小脑袋会被IE的“怪癖”所困扰
.animate({opacity:.45,},1200,“线性”)
及
.animate({opacity:.9,},1200,“线性”)
.animate({opacity:.05,},750,“线性”)
IE不喜欢在对象属性列表上用逗号结尾
.animate({opacity:.45,},1200,“线性”)
及
.animate({opacity:.9,},1200,“线性”)
.animate({opacity:.05,},750,“线性”)
IE不喜欢在对象属性列表上加逗号。什么不起作用?你会遇到什么错误?你能把你的代码放到JSFIDLE上,描述一下你得到/想要的行为吗?什么不起作用?你会遇到什么错误?你能把你的代码放到JSFIDLE上,描述一下你得到/想要的行为吗?试试看,我不知道逗号是怎么来的!试试看,我不知道逗号是怎么来的!