2012-01-04 4 views
-1

Как я могу заставить этот iframe загружаться, когда я нажимаю на это изображение? Я имею в виду, что он не будет загружаться при загрузке страницы, загружать только при открытии и закрытии/остановке при закрытии. Вот код, который я использую. Может ли кто-нибудь помочь?Javascript Iframe

<style type="text/css"> 
#gb{ 
position:fixed; 
top:50px; 
z-index:+1000; 
} 
* html #gb{position:relative;} 
.gbtab{ 
height:100px; 
width:30px; 
float:left; 
cursor:pointer; 
background:url('http://i.imgur.com/YZMJf.png') no-repeat; 
} 
.gbcontent{ 
float:left; 
border:2px solid #A5BD51; 
background:#F5F5F5; 
padding:10px; 
} 
</style> 
<script type="text/javascript"> 
function showHideGB(){ 
var gb = document.getElementById("gb"); 
var w = gb.offsetWidth; 
gb.opened ? moveGB(0, 30-w) : moveGB(20-w, 0); 
gb.opened = !gb.opened; 
} 
function moveGB(x0, xf){ 
var gb = document.getElementById("gb"); 
var dx = Math.abs(x0-xf) > 10 ? 5 : 1; 
var dir = xf>x0 ? 1 : -1; 
var x = x0 + dx * dir; 
gb.style.right = x.toString() + "px"; 
if(x0!=xf){setTimeout("moveGB("+x+", "+xf+")", 10);} 
} 
</script> 
<div id="gb"> 
<div class="gbtab" onclick="showHideGB()"> </div> 
<div class="gbcontent"> 

<iframe src="http://yahoo.com"></iframe> 
<br/> 

<div style="text-align:right"> 
<a href="javascript:showHideGB()"> 
[close] 
</a> 
</div> 
</div> 
</div> 
<script type="text/javascript"> 
var gb = document.getElementById("gb"); 
gb.style.right = (30-gb.offsetWidth).toString() + "px"; 
</script> 

Этот код загружает iframe при загрузке страницы.

+0

В чем проблема? Что не работает? –

+0

Вы не отступаете от кода? Трудно читать. – epascarello

+0

он работает, но я wan, чтобы изменить iframe будет загружаться только тогда, когда я нажимаю на это изображение. –

ответ

0

Не устанавливайте iframe src непосредственно в html. Сделайте это внутри функции обработчика кликов.

+0

Это будет работать только в том случае, если позволяет целевой сайт. – Diode

+0

Благодарим вас за идею. исправить: D –

0
<iframe id="myifm"></iframe> 

<script> 
function loadIframecontent() { 
    document.getElementById("myifm").setAttribute("src","http://www.yahoo.com"); 
} 
</script> 

<a href="#" onclick="loadIFrameContent();">Load Iframe Content</a> 
+0

да. спасибо за этот код: D –

+0

вы можете помочь поближе? –

+0

, если вы хотите остановить загрузку, просто 'document.getElementById (« myifm »). RemoveNode();' – ijse