我有一个页面,我需要有3个图像,一个在另一个下面,我需要每10秒更换一次(例如:显示图像1-3,10秒后显示图像4-6,之后显示10秒图像7-9,...,显示图像1-3)。
现在,我有一个代码,它只更改了3个图像中的第一个。我怎么能这样才能让它每隔10秒就一次改变所有3张图像?
这是一个javascript示例:
self.data
HTML code:
<script>
var links = ["http://www.example.com","http://www.def.com","http://www.ghi.com"];
var images = ["http://www.example.com/img1.png", "http://www.example.com/img2.png",
"http://www.example.com/img3.png", "http://www.example.com/img4.png",
"http://www.example.com/img5.png", "http://www.example.com/img6.png"
];
var i = 0;
var renew = setInterval(function(){
if(links.length == i){
i = 0;
}
else {
document.getElementById("bannerImage").src = images[i];
document.getElementById("bannerLink").href = links[i];
i+=1;
}
},10000);
</script>
-------------------------------------------- -------------------------------------------------- - - - - - - - - - - - - - - - - - - - 编辑 -------------------------------------------------- -------------------------------------------------- --------------------------------
请看下面的代码。我需要这样的东西:
<a id="bannerLink" href="http://www.example.com" onclick="void window.open(this.href); return false;">
<img id="bannerImage" src="http://www.example.com/img1.png" width="694" height="83" alt="some text">
</a>
<a id="bannerLink" href="http://www.example.com" onclick="void window.open(this.href); return false;">
<img id="bannerImage" src="http://www.example.com/img2.png" width="694" height="83" alt="some text">
</a>
<a id="bannerLink" href="http://www.example.com" onclick="void window.open(this.href); return false;">
<img id="bannerImage" src="http://www.example.com/img3.png" width="694" height="83" alt="some text">
</a>
使用上面的代码,只有第一个图像发生变化,第二个和第三个图像一直都在变化,但我需要在10秒后更改它们(我需要做与图像相同的事情) 1,图像2和3)。
答案 0 :(得分:2)
此版本也有链接。试试这个JS FIDDLE
<a id='bannerLink1' href="#"><img src="" id='img1' ></a>
<a id='bannerLink2' href="#"><img src="" id='img2' ></a>
<a id='bannerLink3' href="#"><img src="" id='img3' ></a>
<script>
var images = ["http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG1&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG2&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG3&w=327&h=420",
"http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG4&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG5&w=327&h=420","http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG6&w=327&h=420","http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG7&w=327&h=420"
];
var links = ["http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG1&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG2&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG3&w=327&h=420",
"http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG4&w=327&h=420", "http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG5&w=327&h=420","http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG6&w=327&h=420","http://placeholdit.imgix.net/~text?txtsize=85&bg=ef4135&txtclr=ffffff&txt=IMG7&w=327&h=420"
];
var i = 0;
var renew = setInterval(function(){
if(i==images.length) i=0;
document.getElementById("img1").src = images[i];
document.getElementById("bannerLink1").href=links[i];
if(i+1==images.length) i=-1;
document.getElementById("img2").src = images[i+1];
document.getElementById("bannerLink2").href=links[i+1];
if(i+2==images.length) i=-2;
document.getElementById("img3").src = images[i+2];
document.getElementById("bannerLink3").href=links[i+2];
i+=3;
},1000);
</script>
答案 1 :(得分:1)
我设置了3秒间隔并提醒显示不同的图像变化所以请看看,可能这会对你有所帮助
<head>
<title>Test</title>
<script>
var images = ["img1.png","img2.png","img3.png"];
function changeImage()
{
var i = 0;
var inter = setInterval(function(){
if(i < images.length)
{
//document.getElementById("bannerImage").src = images[i];
alert(images[i]);
i++;
}
else
{
i = 0;
//document.getElementById("bannerImage").src = images[i];
alert(images[i]);
i++;
}
},3000);
}
</script>
</head>
<body onload="changeImage()">
</body>
答案 2 :(得分:0)
setInterval(function(){
functions here.
}, 10000);
此处有更多信息:http://www.w3schools.com/jsref/met_win_setinterval.asp