Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript数组仅循环第一个变量_Javascript_Arrays_Url_Iframe_Var - Fatal编程技术网

javascript数组仅循环第一个变量

javascript数组仅循环第一个变量,javascript,arrays,url,iframe,var,Javascript,Arrays,Url,Iframe,Var,我正在使用javascript在iframe中的URL数组中循环,到目前为止,当按下prev或next按钮时,它会跳转到数组中的第一个var,并且prev和next函数都会结束。有什么想法吗 <iframe id="myFrame" src="http://startpage.com" width="484px" height = "424px"></iframe> <button onclick = "prevPage(); ">Prev</butto

我正在使用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>

上
下一个
var sites=新数组();
网站[0]=”http://site1.html";       
网站[1]=”http://site2.html";
网站[2]=”http://site3.html";
网站[3]=”http://site4.html";
函数下一页(){
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];
} 
函数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];
} 

如果我正确理解了您的问题,我认为您需要做的就是使用
document.getElementById(“myFrame”).src=sites[number]
而不是
document.getElementById(“myFrame”).src=sites[0]

为什么要使用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];
}
var curPos=0;
函数下一页(){
curPos++;
如果(curPos>=sites.length){
curPos=0;
}
document.getElementById('myframe').src=sites[curPos];
}
函数prevPage(){
curPos--;
如果(curPos<0){
curPos=sites.length-1;
}
document.getElementById('myframe')。src=sites[curPos];
}
可能是

document.getElementById("myFrame").src=sites[number-1];

这是您在这两个功能中尝试执行的操作。

谢谢,我尝试了一下,但按钮停止工作,firebug没有吐出任何控制台错误。。。嗯…我会继续努力的,再次谢谢你!这返回了本地文件搜索,而不是数组URL