js简单问题、轮播代码没搞懂
html、div#d1>img*3css、#d1{position:relative;overflow:hidden}js、window.onload=function(...
html、div#d1>img*3
css、#d1{position:relative;overflow:hidden}
js、window.onload = function(){
function dom(obj){
return document.getElementsByTagName(obj);
};
var pos = 0,
img = dom("img");
len = img.length;
//这段代码没弄懂求解↓
setInterval(function(){
img[pos].style.display = 'none';
pos = ++pos == len? 0 : pos;
img[pos].style.display = 'inline';
},1000)
} 展开
css、#d1{position:relative;overflow:hidden}
js、window.onload = function(){
function dom(obj){
return document.getElementsByTagName(obj);
};
var pos = 0,
img = dom("img");
len = img.length;
//这段代码没弄懂求解↓
setInterval(function(){
img[pos].style.display = 'none';
pos = ++pos == len? 0 : pos;
img[pos].style.display = 'inline';
},1000)
} 展开
3个回答
展开全部
setInterval(function(){
img[pos].style.display = 'none';//设置索引为0的图片(就是第一张)样式为dislay:none;
pos = ++pos == len? 0 : pos;//如果索引值 == 你所添加图片的数量就把索引值设置为0,如果不等于就把自加后的索引值 赋给pos;
img[pos].style.display = 'inline';//设置相对应索引值的图片样式为dislay:inline; },1000)每隔一秒执行一次,一直循环
img[pos].style.display = 'none';//设置索引为0的图片(就是第一张)样式为dislay:none;
pos = ++pos == len? 0 : pos;//如果索引值 == 你所添加图片的数量就把索引值设置为0,如果不等于就把自加后的索引值 赋给pos;
img[pos].style.display = 'inline';//设置相对应索引值的图片样式为dislay:inline; },1000)每隔一秒执行一次,一直循环
展开全部
setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式,也就是说你的几张图片会每搁1秒显示一张,其他的图片隐藏。
img[pos].style.display = 'none';//隐藏第pos张图片
pos = ++pos == len? 0 : pos;//判断pos值,pos值先加1,然后跟图片数组的长度相比,如果pos值等于数组长度,也就是图片数组循环显示了一遍,然后从数组第一张图片再次循环显示。
img[pos].style.display = 'inline';//显示图片
img[pos].style.display = 'none';//隐藏第pos张图片
pos = ++pos == len? 0 : pos;//判断pos值,pos值先加1,然后跟图片数组的长度相比,如果pos值等于数组长度,也就是图片数组循环显示了一遍,然后从数组第一张图片再次循环显示。
img[pos].style.display = 'inline';//显示图片
追问
谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2016-09-29
展开全部
隔1秒轮询执行启动函数
img是个对象数组,,pos为索引值。执行下表为0的img隐藏
索引从0开始+1 if索引值== 总长度值 索引重新从0开始
讲索引+1后的img图片显示出来
有问题,请追问,希望能理解,,谢谢
追问
谢谢
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询