仅加载div iframe onclick

时间:2011-05-16 10:07:25

标签: html iframe

我有这部分代码。加载页面时,所有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 个答案:

答案 0 :(得分:18)

你的意思是只在单击一个元素时才在if中加载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";'

答案 1 :(得分: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>

答案 2 :(得分: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>