我正在使用javascript循环遍历iframe中的url数组,到目前为止,当按下prev或next按钮时,它会跳转到数组中的第一个var,并且prev和next函数结束。有什么想法吗?
<iframe id="myFrame" src="http://startpage.com" width="484px" height = "424px"></iframe>
<button onclick = "prevPage(); ">Prev</button>
<button onclick = "nextPage(); ">Next</button>
<script>
var sites=new Array();
sites[0]="http://site1.html";
sites[1]="http://site2.html";
sites[2]="http://site3.html";
sites[3]="http://site4.html";
function nextPage() {
var number = document.getElementById("myFrame").src;
number = number.substring(number.length - 4 ,number.length-3);
number = parseInt(number) + 1;
document.getElementById("myFrame").src=sites[0];
}
function prevPage() {
var number = document.getElementById("myFrame").src;
number = number.substring(number.length - 3 ,number.length-4);
number = parseInt(number) - 1;
document.getElementById("myFrame").src=sites[0];
}
</script>
答案 0 :(得分:3)
为什么使用网址作为“位置”存储空间?使用变量会更容易:
var curPos = 0;
function nextPage() {
curPos++;
if (curPos >= sites.length) {
curPos = 0;
}
document.getElementById('myframe').src = sites[curPos];
}
function prevPage() {
curPos--;
if (curPos < 0) {
curPos = sites.length - 1;
}
document.getElementById('myframe'.).src = sites[curPos];
}
答案 1 :(得分:0)
如果我正确理解您的问题,我认为您需要做的就是使用document.getElementById("myFrame").src=sites[number];
代替document.getElementById("myFrame").src=sites[0];
答案 2 :(得分:0)
可能是
document.getElementById("myFrame").src=sites[number-1];
是您在两个函数中尝试做的事情。