javascript - 此代码在 Chrome 中有效,但在 Internet Explorer 中无效

标签 javascript css internet-explorer google-chrome setinterval

我可以让这段代码在 Chrome 中运行,但不能在 IE (Internet Explorer) 中运行。是否可以将一些东西迁移到其他浏览器作为浏览器交叉兼容性?

<html>
<head>
</head>
<body>
<style>#move{position:absolute;height:100px;width:100px;background-color:cyan}</style>
<script>
var ok=document.createElement("div");
document.body.appendChild(ok);
ok.setAttribute("id","move");
function jobson(a){
switch(a){
case 0:
setInterval(function(){    
if(ok.style.backgroundColor="black")ok.style.backgroundColor="cyan"},1);
break;
};
setInterval(function(){
if(ok.style.backgroundColor="cyan")ok.style.backgroundColor="black";ok.style.left
(a)+"px";},1);
//distancia
};
setInterval(function(){
for(var i=0;i<1000;i++){
jobson(i);
};},1);
</script>
</body>
</html>

fiddle

最佳答案

您正在使浏览器内存过载并导致它崩溃,因为您每 1 毫秒调用一次 setTimeout

改变这个(每 1 毫秒):

setInterval(function () {
    for (var i = 0; i < 1000; i++) {
        jobson(i);
    };
}, 1);

对此(每 100 毫秒):

setInterval(function () {
    for (var i = 0; i < 1000; i++) {
        jobson(i);
    };
}, 100);

如果您想要一个只有 CSS3 的解决方案:

CSS:

#move {
    position:absolute;
    left:0px;
    top:20px;
    height:100px;
    width:100px;
    background-color:cyan;
    animation:myanimation 1s;
    -moz-animation:myanimation 1s;
    -webkit-animation:myanimation 1s;
}
@keyframes myanimation {
    from {
        left: 0px;
    }
    to {
        left:500px;
    }
}
@-moz-keyframes myanimation {
    from {
        left: 0px;
    }
    to {
        left:500px;
    }
}
@-webkit-keyframes myanimation {
    from {
        left: 0px;
    }
    to {
        left:500px;
    }
}

DEMO HERE

关于javascript - 此代码在 Chrome 中有效,但在 Internet Explorer 中无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23555869/

相关文章:

javascript - Canvas 用二次曲线画圆

javascript - Angular2 - 为什么不能在属性名称中使用破折号或其他特殊字符

javascript - 如何从 css 动画关键帧获取图像以在完成后保留在页面上

.net - 如果使 IE8 模拟 IE7 的 head 标签不起作用怎么办?

javascript - 创建一种更简单的嵌套函数的方法

javascript - 如何使用 Html Agility Pack 的实际源代码获取 javascript 代码

javascript - MouseOver 不会在重叠的 div 上冒泡吗?

html - 如何获得关键帧动画?

css - 带有 img 背景的 IE 7/8 CSS div 大小问题

internet-explorer - ExtJs 日期未显示在 Internet Explorer/Mozilla 的网格中