2011-05-16 43 views
9

Bu kod parçam var. Sayfa yüklendiğinde, tüm div'ler yüklenir ancak henüz görünmez. Tıklandığında, div içeriğini yüklemenin bir yolu mu? Şimdi sayfa yüzünden yavaşlamış olan tüm div enSadece div iframe onclick komutunu yükleyin

<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

Neden dinamik belirli bir DOM Olay yerine iframe'inin üzerine bir div içerik yüklemek için AJAX tekniği kullanmıyorsun? –

+1

Bu soru niçin sadece JavaScript ve HTML içerdiğinde 'php' olarak etiketlenir? –

cevap

14

bir eleman tıklandığında sadece div içinde iframe yükleyecek ifade ediyor mu? Öyleyse iframe src özniteliğini iframe etiketinden silebilir ve src'yi yalnızca öğeye tıklandığında ayarlayabilirsiniz. iframe üzerinde

:

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

tıklanabilir elemanı üzerinde:

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

Çok büyük bir soliteyim Görüntüye onclick ekleyerek çalışmak için alamıyorum Div gösteriliyor ama boş. – Muiter

+0

iframe'de kimliği eklediniz mi? Bazı hatalar atarsa ​​javascript konsoluna bakın – mck89

+0

Evet, sahibim. Hata, Uncaught SyntaxError: Beklenmeyen belirteç} Bu tam çizgi: echo ''; – Muiter

3

jQuery kolaylaştırır!

<head> bölümünün altında aşağıdan yükleyin.

<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>