javascript数组只循环第一个var
Posted
技术标签:
【中文标题】javascript数组只循环第一个var【英文标题】:javascript array cycling only first var 【发布时间】:2011-12-14 14:53:50 【问题描述】:我正在使用 javascript 在 iframe 中循环遍历一组 url,到目前为止,当按下 prev 或 next 按钮时,它会跳转到数组中的第一个 var,并且 prev 和 next 函数都结束。有什么想法吗?
<iframe id="myFrame" src="http://startpage.com" 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>
【问题讨论】:
【参考方案1】:您为什么使用 URL 作为您的“位置”存储?只使用变量会容易得多:
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];
【讨论】:
【参考方案2】:如果我正确理解了您的问题,我认为您需要做的就是使用 document.getElementById("myFrame").src=sites[number];
而不是 document.getElementById("myFrame").src=sites[0];
【讨论】:
谢谢,我试了一下,但按钮停止工作,firebug 没有吐出任何控制台错误……嗯……我会继续努力的,再次感谢!跨度> 【参考方案3】:可能
document.getElementById("myFrame").src=sites[number-1];
是您在这两个函数中尝试执行的操作。
【讨论】:
这返回了本地文件搜索而不是数组 urls以上是关于javascript数组只循环第一个var的主要内容,如果未能解决你的问题,请参考以下文章