九方名座
2016-11-13 00:52
<script>
window.onload=function(){
var box=document.getElementsByTagName("div");
var imgs=box.getElementsByTagName("img");
var imgWidth=imgs[0].offsetWidth;
var exposedWidth=300;
var boxWidth=imgWidth+exposedWidth*(imgs.length-1);
box.style.width=boxWidth+"px";
function setImgsPos(){
for(var i=1,len=imgs.length;i<len;i++){
imgs[i].style.left=imgWidth+exposedWidth*(i-1)+"px";
};
}
setImgsPos();
var translate=imgWidth-exposedWidth;
for(var i=0,len=imgs.length;i<len;i++){
(function(i){
imgs[i].onmouseover=function(){
setImgsPos();
for(var j=1,j<=i;j++){
imgs[j].style.left=parseInt(imgs[j].style.left,10)-translate+"px";
};
};
}(i));
};
};
</script>
不是冒号,是分号。;;;;;;;;;;;;;;
for(var i=1,len=imgs.length;i<len;i++){ imgs[i].style.left=imgWidth+exposedWidth*(i-1)+"px"; };
后面没有冒号
for (var i = 0, len = imgs.length; i < len; i++) { //使用立即调用的函数表答式,为了获得不同的i值 (function(i) { imgs[i].onmouseover = function() { //先将每道门复位 setImgsPos(); //打开门 for (var j = 1; j <= i; j++) { imgs[j].style.left = parseInt(imgs[j].style.left, 10) - translate + 'px'; } }; })(i); }
冒号 有无 自己对应的看下
最后的
}; </script>
也没有 冒号
1.花括号后面不要加分号
2.第三个for循环的条件写错了,var j=1后面应该改为分号,应该这样写为for(var j=1;j<=i;j++)
3.开头和结尾的<script></script>不要
4.还有你没写,图片的初始位置,还有移动的距离
5.var box=document.getElementsByTagName("div");改为,是获取id
var box = document.getElementById('div');
6.第三个for循环
for(var j=1;j<=i;j++){
imgs[j].style.left=parseInt(imgs[j].style.left,10)-translate+"px";
}
执行语句里的imgs[j]改为imgs[i],如下
for(var j=1;j<=i;j++){
imgs[j].style.left=parseInt(imgs[i].style.left,10)-translate+"px";
}
7.最后的(i),放在括号之外--->)(i);
我也不知道说什么,加油!
DOM探索之基础详解篇
98374 学习 · 238 问题
相似问题