Загружать только div iframe onclick - PullRequest
11 голосов
/ 16 мая 2011

У меня есть эта часть кода. Когда страница загружена, все div тоже загружены, но еще не видны. Есть ли способ начать загрузку содержимого div, когда он нажал? Теперь страница замедляется из-за всех элементов div

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

Ответы [ 3 ]

18 голосов
/ 16 мая 2011

Вы имеете в виду загружать iframe внутри div только при нажатии на элемент?Если это так, вы можете удалить атрибут iframe src из тега iframe и установить src только при щелчке элемента.

Для iframe:

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

Для элемента с возможностью нажатия:

onClick='document.getElementById("ifr").src="add_dossier.php";'
3 голосов
/ 16 мая 2011

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 голос
/ 29 июля 2011
<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...