2012-01-09 99 views
-3

因此,在我的頁面上,我使用Iframe在其中顯示另一個網頁。我想創建一個包含多個網頁的數組(我想要的),並且我想要創建2個按鈕,所以每次點擊下一步按鈕時,它都會更改我擁有的iframe標記內的頁面。我的問題是我如何設置2個按鈕(下一個和上一個),所以當我點擊它們時,我將相應地改變到Array設置?如何更改iframe src?

<html xmlns="w3.org/1999/xhtml"> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Untitled Document</title> 
    </head> 

    var webpageArray = new Array() 
    webpageArray[0]= "web0.com/"; 
    webpageArray[1]= "web1.com/"; 
    webpageArray[2]= "web2.com/"; 

    <iframe id="myframe" src="web1.com"></iframe> 

    loadNextPage = function() { 
    var iframe = document.getElementById("myframe"); 
    var src = webpageArray[1]; 
    iframe.src = src; 
    return; 
    } 
    <body> 
    <a href="" onclick="LoadNextPage"> Next Web Page >> </a> 
    </body> 
    </html> 
+1

所以你沒有做任何事情? – 2012-01-09 08:51:28

+2

如果你向我們展示你的代碼,我們可以幫助解決它 - 請不要讓我們從頭開始寫所有東西,我們需要付出更多的努力,你將不會學到任何東西。花一點時間在這個你自己,你應該*享受*寫作的JavaScript,而不是避免它!當你有嚴肅或具體的問題時回來,或者將其編輯成不太模糊的東西。 – 2012-01-09 08:56:35

+0

您的html /腳本無效。您需要將腳本封裝在腳本標籤中,並在主體標籤中包含iframe和鏈接 – mplungjan 2012-01-09 09:30:49

回答

6

這工作 - 用普通的JavaScript是的,內聯處理程序 - 它應該在的onload連接,但讓我們把它在一個時間

DEMO HERE

<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
    <title>Untitled Document</title> 
    <script> 
     var cnt=0,webpageArray = [ 
     "http://cnn.com/", 
     "http://msn.com/", 
     "http://yahoo.com/" 
     ]; 

     function loadNextPage(dir) { 
     cnt+=dir; 
     if (cnt<0) cnt=webpageArray.length-1; // wrap 
     else if (cnt>= webpageArray.length) cnt=0; // wrap 
     var iframe = document.getElementById("myframe"); 
     iframe.src = webpageArray[cnt]; 
     return false; // mandatory! 
     } 
    </script> 
    </head> 

    <body> 
    <iframe id="myframe" src="http://cnn.com/"></iframe> 

    <a href="#" onclick="return loadNextPage(-1)"> << Previus Web Page </a> | 
    <a href="#" onclick="return loadNextPage(1)"> Next Web Page >> </a> 
    </body> 
    </html> 

的jQuery版本的一件事

DEMO HERE

var cnt=0,webpageArray = [ 
    "http://cnn.com/", 
    "http://msn.com/", 
    "http://yahoo.com/" 
]; 

$(document).ready(function() { 
    $("#prev, #next").click(function(e) { 
    cnt+=this.id=="next"?1:-1; 
    if (cnt<0) cnt=webpageArray.length-1; // wrap 
    else if (cnt>= webpageArray.length) cnt=0; // wrap 
    $("#myframe").attr("src", webpageArray[cnt]); 
    return false; 
    }); 
});  

<iframe id="myframe" src="http://cnn.com"></iframe> <br /> 
<a href="#" id="prev"> << Previous Web Page </a> | 
<a href="#" id="next"> Next Web Page >> </a> 
+0

更新的普通版本也有以前的鏈接 – mplungjan 2012-01-09 11:04:24

-2
<iframe id="myframe" src="some web page"></iframe> 

loadNextPage = function() { 
    var iframe = document.getElementById("myframe"); 
    var src = webpageArray[2]; 
    iframe.src = src; 
    return; 
} 

但我DONOT推薦這個過程。

+0

計數器和IDX的更改以及方向編碼的位置在哪裏? – mplungjan 2012-01-09 09:22:58

+1

櫃檯不是我的目光。提出這個問題的人已經實現了這個代碼。好 ? – Acn 2012-01-09 09:24:15

+0

我試着在最後幾天做這項工作,但它對我來說不起作用:(我看過很多教程,我真的很想了解更多,不管怎樣,這是我迄今爲止的幫助,但它根本不工作(我知道我錯過了很多) – Maansahir 2012-01-09 09:25:07

0

垃圾的方式

<html> 
<head> 
<script type="text/javascript"> 
flag = 0; 
SrcList = new Array("http://www.google.com", "http://www.27nov.fr", "http://www.perdu.com"); 
function NextSrc(){ 
    if(flag < SrcList.length - 1){ 
    flag++; 
    ChangeSrc(SrcList[flag]); 
    } 
    return false; 
} 
function PrevSrc(){ 
    if(flag > 0){ 
    flag--; 
    ChangeSrc(SrcList[flag]); 
    } 
    return false; 

} 
function ChangeSrc(src){ 
    var iframe = document.getElementById('Myiframe'); 
    iframe.setAttribute('src',src); 
} 
</script> 
</head> 
<body> 
<p><a href="#" onclick="PrevSrc()">Prev</a> - <a href="#" onclick="NextSrc()">Next</a></p> 
<iframe id="Myiframe" src="http://www.w3schools.com" width="640" height="480"> 
</iframe> 
</body> 
</html> 
+1

請在onclick處理程序上返回false! 爲什麼要改變源onload?爲什麼叫標誌索引?這不是一面旗幟。有沒有稱爲MaxLenght var,如果有,拼寫它maxLength或只使用數組的長度 也請閱讀http://w3fools.com/ – mplungjan 2012-01-09 09:46:21

+0

當我到達最後一頁時,我怎樣才能使它迴旋? (請編輯你自己的代碼) – Maansahir 2012-01-09 09:58:34