开发者社区> 问答> 正文

js新手求助,帮看下面一行代码~(标红的地方)? 400 报错

js新手求助,帮看下面一行代码~(标红的地方)? 400 报错 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>轮播图</title>
<style>
div{width:400px;height:300px;position:relative;overflow:hidden;}
img{width:400px;height:300px;position:absolute;top:0;left:0;}
img{float:left;}
</style>


<script>
window.onload=function (){

var oDiv=document.getElementsByTagName('div')[0];
var aImg=document.getElementsByTagName('img');
var jsonImg={'url':['js.img/1.jpg','js.img/2.jpg','js.img/3.jpg']};

var num=0;
var timer=null;

for(var i=0;i<aImg.length;i++)
{
aImg[i].style.left=400*i+'px';
aImg[i].src=jsonImg['url'][i];
};

setInterval(function (){

timer=setInterval(function (){

var speed1=parseInt(getComputedStyle(aImg[0]).left)-10;
var speed2=parseInt(getComputedStyle(aImg[1]).left)-10;
var speed3=parseInt(getComputedStyle(aImg[2]).left)-10;

aImg[0].style.left=speed1+'px';
aImg[1].style.left=speed2+'px';
aImg[2].style.left=speed3+'px';


if(speed1==-400)
{clearInterval(timer)}

num%aImg.length;

},80)

},3000);

};
</script>
</head>


<body>
<div class="clear">
<img src="" />
    <img src="" />
    <img src="" />
</div>
</body>
</html>


标红的地方为啥不能执行啊?

展开
收起
爱吃鱼的程序员 2020-05-30 22:52:02 497 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    执行的吧,你在判断里面加个alert 试一下...######在方法第一行敲个debugger;然后F12调试打开看看######问题在第一个 setInterval. 应为setTimeout######回复 @滚筒洗衣机 : 轮播也不需要第一个setInterval, 你需要再想想轮播的实现.######那就做不到轮播的效果了啊######setInterval方法里,debug下,确定下是哪一行抛的异常

    2020-05-30 22:52:04
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Delivering Javascript to World 立即下载
编程语言如何演化-以JS的private为例 立即下载
在 IoT 设备进行 JavaScript 开发的探索之路 立即下载