jquery - 如何使 <iframes> 仅在单击按钮时加载?

标签 jquery iframe

friend 们, 我的问题是我的页面加载速度非常慢,因为所有加载都是同时进行的。我正在提取一个 RSS 提要,如果您单击“文章”按钮,它将弹出一个包含其内部的模态框。问题是所有的 s 同时加载。

这是网站: http://daisy.camorada.com/

我尝试在 中插入 src,但这不起作用,因为我猜 iframe 在页面打开时加载。

<button class='btn btn-primary' id='miguel'>TEST ME NOW</button>
        <button class='btn btn-primary' id='jamison'>jamison</button>
        <div id="yoyoyo">
            </div>
            <iframe id="gogo">
                </iframe>

<script>
        $('#miguel').on('click', function() {
            alert('clicked');           
            $('#gogogo').attr('href', 'http://www.google.com');

        });
    </script>
    <script>
        $('#jamison').on('click', function() {
            alert('clicked JAMISON');       
            $("#yoyoyo").html("<h1>HELLO J</h1><br><iframe class='full-iframe' href='http://news.yahoo.com/three-killed-tribal-clash-libya-001717827.html'></iframe>");

        });

    </script>

最佳答案

HTML:

<iframe id="myiFrame" data-src="http://my.url" src="about:blank">
</iframe>

在你的 jQuery 中:

$("button").click(function(){
    var iframe = $("#myiFrame");
    iframe.attr("src", iframe.data("src")); 
});

或者,如果您想在单击一个按钮时加载所有 iframe...请确保它们都有 data-src="your.url" 属性,然后像这样循环:

$("button").click(function(){
    $("iframe").each(function(){
        $(this).attr("src", $(this).data("src"));
    });
});

关于jquery - 如何使 &lt;iframes> 仅在单击按钮时加载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12102464/

相关文章:

javascript - 通过平滑滚动到达 div 后摇动它

javascript - rangy - 如何使用 iframe 中的内容

Javascript mousemove 事件监听器未按预期工作

javascript - jQuery:如果 dom 元素不存在,则添加它

javascript - css3动画使用html5数据属性

javascript - 使用 document.execCommand() 使文本加粗使页面刷新

html - iFrame 未在页面加载时加载 (jQuery Mobile)

javascript - 如何滚动到 iframe 中的特定 div?

javascript - 在 InnerHTML 之后保留 CSS

jQuery 标题在用 div 制作的表中排序