我编写这些代码并使其在IE& chrome& firefox中运行,它在chrome和firefox中运行良好但在IE中却出错。有人告诉我为什么,谢谢!
当我按下开始按钮时,这些代码会生成动画,我希望当我按下停止按钮时它停止,但是当我按下停止时,警报会显示很多次。
好吧,这是我的代码。关于你的浏览器,也许它会在动画播放时崩溃。原谅我的英语不好
<html style = "overflow:hidden">
<script src="jquery-1.7.2.js"></script>
<script>
var DIV ;
var CONTENT ;
var move = false;
$(function(){
DIV = $('<img src="7.png"></img>');
CONTENT = $('#content');
});
function startAnimation(){
$('#content').empty();
var div = $('<img src="7.png"></img>');
div.appendTo('#content');
var w_w=$(document).width();
var d_w=div.width();
var l=w_w/2 - d_w/2;
div.css("position","absolute");
div.css("top",$(document).height()+div.height());
div.css("left",l);
if(!move){
div.animate({top:-div.height(),left:l},1000,function(){
alert('ok');
return;
});
}else{
div.animate({top:-div.height(),left:l},1000,function(){
//setTimeout(function(){
startAnimation.call(window);
return;
});
}
}
function start(){
if(!move){
move = true;
startAnimation();
}
}
function stop(){
move = false;
}
</script>
<body style = "overflow:hidden">
<button onclick="start();">start</button>
<button onclick="stop();">stop</button>
<div id='content' sytle="width:1000px;height:700px;overflow:hidden">
</div>
</body>
</html>
答案 0 :(得分:0)
某些Internet Explorer版本会忽略css值;最后没有px
。
top:200
会返回错误,但top:200px
在ie。
试试这个:
if(!move){
div.animate({'top':-div.height()+'px','left':l + 'px'},1000,function(){//here
alert('ok');
return;
});
}else{
div.animate({'top':-div.height()+'px','left':l + 'px'},1000,function(){//+'px'
startAnimation.call(window);
return;
});
}