2011-05-16 84 views
9

我有這部分代碼。當頁面被加載的時候,所有的div都被加載,但還沒有可見。點擊時是否開始加載div的內容?現在頁面放慢,因爲所有div的只加載div iframe onclick

<a href="#?w=550" rel="popup_add_dossier" class="poplight" title="'.$lang['form_add'].'"><img src="images/icon/new.png" ></a> 

<div id="popup_add_dossier" class="popup_block"> 
<iframe src="add_dossier.php" frameborder="0" scrolling="no" width="550" height="400"> 
+1

你爲什麼不使用AJAX技術,在一個特定的DOM事件,而不是iframe來動態加載在一個div的內容? – 2011-05-16 10:13:43

+1

當只涉及JavaScript和HTML時,爲什麼這個問題被標記爲'php'? – 2013-06-11 03:05:52

回答

14

您的意思是隻在點擊某個元素時才加載div中的iframe?如果是這樣,您可以從iframe標記中刪除iframe src屬性,並僅在單擊元素時設置src。

在IFRAME:

<iframe id='ifr' frameborder="0" scrolling="no" width="550" height="400"> 

在可點擊的元素:

onClick='document.getElementById("ifr").src="add_dossier.php";' 
+0

偉大的解決方案雖然我不能讓它與圖像添加onclick div顯示,但空。 – Muiter 2011-05-16 10:33:02

+0

您是否在iframe上添加了id?看看javascript控制檯是否會引發一些錯誤 – mck89 2011-05-16 10:35:55

+0

是的,我有。錯誤是Uncaught SyntaxError:Unexpected token}這是完整的行:echo'​​'; – Muiter 2011-05-16 10:43:21

3

jQuery的很容易!

<head>部分中加載以下內容。

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> 
<script> 
jQuery(function(){ 
    $("iframe").each(function(){ 
     this.tmp = this.src; 
     this.src = ""; 
    }) 
    .parent(".popup_block") 
    .click(function(){ 
     var frame = $(this).children("iframe")[0]; 
     console.log(frame);  frame.src = frame.tmp; 
    }); 
}); 
</script> 
1
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.0/jquery.min.js"></script> 
<script type="text/javascript"> 
$(function(){ 
    $('#button').click(function(){ 
     if(!$('#iframe').length) { 
       $('#iframeHolder').html('<iframe id="iframe" src="http://google.com" width="700" height="450"></iframe>'); 
     } 
    }); 
}); 
</script> 

<a id="button">Button</a> 
<div id="iframeHolder"></div>