2015-10-02 137 views
1

我想在單擊按鈕時切換iframe的源。我試過的東西不起作用。iframe源之間的Javascript按鈕切換

<input type="image" id="pluto" src="pluto.jpg" alt="pluto" width="150px" height="150px" style="margin-left: 45%;" onclick="function()"/> 

<script> 
    document.getElementById('pluto').onclick = function() { 
    { 
     var property = document.getElementById(iframe); 
     if (document.getElementById("something").src = "http://www.w3schools.com/";) { 
      document.getElementById("something").src = "http://agar.io/";  
     } 
     else { 
      document.getElementById("something").src = "http://www.w3schools.com/"; 
     } 
    } 
</script> 
<iframe id='something' name="main" src="http://www.w3schools.com" style="border:none;width:100%;height:100%;margin-top:150px;"></iframe> 

請幫幫我。

+0

您的DOM可能在腳本執行時未準備好。 –

+0

順便說一句,什麼是'iframe'?你在哪裏申報? –

+2

你比較錯了 - 單個'='符號是一個賦值運算符。而且,你的條件中不應該有分號。 –

回答

1

您的代碼應該是這樣的,看到的JavaScript comparison operator

if (document.getElementById("something").src == "http://www.w3schools.com/") {...} 
0

有在這裏多句法和語義問題。首先,你需要將你正在使用的所有元素放入DOM中,這樣腳本標籤纔會出現。選擇要使用其ID的iframe時,不要使用標籤名稱。還可以使用您定義的變量,而不是一遍又一遍地搜索元素。然後你的比較是一個任務 - 單方程和雙方程符號有很大的不同。截至去年,你的情況可能應該更多的

if A then B 
else A 

這意味着文本:如果URL是A,切換到B;否則(讀取URL是B)切換到A.

這給我們留下了這樣的代碼:

<input type="image" id="pluto" src="pluto.jpg" alt="pluto" width="150px" height="150px" style="margin-left: 45%;"/> 

<iframe id='something' name="main" src="http://www.w3schools.com" style="border:none;width:100%;height:100%;margin-top:150px;"></iframe> 

<script> 
document.getElementById('pluto').onclick = function() { 
{ 
    var iframe = document.getElementById("something"); 
    if (iframe.src == "http://www.w3schools.com/") { 
     iframe.src = "http://agar.io/";  
    } 
    else { 
     iframe.src = "http://www.w3schools.com/" 
    } 
} 
</script> 

這裏使用jQuery和數據屬性的更短和更聰明的版本。它基本上將替代URL保存在一個屬性中,並在按下按鈕時切換它們。

<input type="image" id="pluto" src="pluto.jpg" alt="pluto" width="150px" height="150px" style="margin-left: 45%;"/> 

<iframe id='something' data-altsrc="http://agar.io/" name="main" src="http://www.w3schools.com" style="border:none;width:100%;height:100%;margin-top:150px;"></iframe> 

<script> 
$("#pluto").click(function() { 
{ 
    var iframe = $("#something"); 
    var altsrc = iframe.data("altsrc"); 
    iframe.data("altsrc", iframe.attr("src")); 
    iframe.attr("src", altsrc); 
}) 
</script>