Javascript 选择阵列中的图像并继续
第一次JavaScript程序员在这里 尝试解决此问题,以便在单击图像的相应按钮时显示该图像,然后该函数继续在数组和循环中显示另一图像 例如,如果横幅显示图像4,用户单击图像2的按钮,则横幅应显示图像2,然后旋转以显示图像3并继续循环 代码如下:Javascript 选择阵列中的图像并继续,javascript,arrays,loops,Javascript,Arrays,Loops,第一次JavaScript程序员在这里 尝试解决此问题,以便在单击图像的相应按钮时显示该图像,然后该函数继续在数组和循环中显示另一图像 例如,如果横幅显示图像4,用户单击图像2的按钮,则横幅应显示图像2,然后旋转以显示图像3并继续循环 代码如下: var i = 0; var baners = new Array(); baners.push('banner1.jpg'); baners.push('banner2.jpg'); baners.push('banner3.jpg'); baner
var i = 0;
var baners = new Array();
baners.push('banner1.jpg');
baners.push('banner2.jpg');
baners.push('banner3.jpg');
baners.push('banner4.jpg');
baners.push('banner5.jpg');
function swapImage(){
var img = document.getElementById("banner");
img.src = baners[i];
if (i<(baners.length-1)){i++;
}else{
i=0;
}
setTimeout('swapImage()', 2000);
}
function button1 (){
var img = document.getElementById("banner");
img.src = baners[0]
}
var i=0;
var baners=新数组();
bush('banner1.jpg');
bush('banner2.jpg');
bush('banner3.jpg');
bush('banner4.jpg');
bush('banner5.jpg');
函数swapImage(){
var img=document.getElementById(“banner”);
img.src=baners[i];
如果(i)
我不确定是否可以为5个按钮制作一个全局功能
是的。使用类似这样的方法:
function buttonClicked(number) {
var img = document.getElementById("banner");
img.src = baners[number]
i = number; // set current loop position
}
然后从按钮1调用buttonClicked(0)
,buttonClicked(1)
从按钮2开始,依此类推。如果您想使用for循环自动将处理程序附加到按钮,请退出。抓取按钮的索引,并将其与阵列的索引匹配。它显示选定的图像,但函数在索引中不断滚动,并且不遵循顺序。顺便说一句,应该拼写baners
横幅
并简单使用setInterval(swapImage,2000)
而不是每次计算一个字符串。在单击处理程序上设置i
的值。谢谢!这正是我所需要的。它现在就像一个符咒。我还有一个问题,执行时间隔加倍。知道为什么吗?它们都在2秒工作,但按下按钮需要4秒来加载下一个i在你的swapImage
循环中,你只是在更改图像后才更新i
,因此在调用按钮点击后,下一次交换将不会改变任何内容。我没有想到这一点,但实际上我想这比在用户点击后不到2秒显示横幅更方便d:-)哈哈哈!是的,间歇只是一个例子。这对我现在需要的东西很好。再次感谢你!