如何在Popup div中加载iframe内容?

时间:2014-09-11 07:32:12

标签: jquery html

如何在Popup div中加载iframe内容。 单击每个链接将打开popup div 从每个链接,页面网址将加载到弹出div内的iframe href。

$(document).ready(function(){
  $(".openpop").click(function(){
    var x =    $(this).attr('href');
    alert(x);
    y =  x.replace('#', '');
    alert(y);
    $(".popup").toggle();
    $("iframe").attr("href", y);

  });

   $(".close").click(function(){
     $(this).parent().fadeOut("slow");
  }); 

});

HTML

<a class="openpop" href="#http://www.google.com">Link 1</a>
<a class="openpop" href="#http://www.yahoo.com">Link 2</a>
<a class="openpop" href="#http://www.w3schools.com">Link 3</a>
<div class="wrapper">
<div class="popup">
<iframe src="">
  <p>Your browser does not support iframes.</p>
</iframe>
<a href="#" class="close">X</a></div>
</div>

3 个答案:

答案 0 :(得分:8)

首先,您不需要链接中的#。只需致电e.preventDefault();即可停止执行该链接。

出于安全考虑,您无法打开每个链接,例如。谷歌。

此外,您可能不会使用切换,因为如果框架已经打开,您总是必须单击两次。

这是 working fiddle

HTML

<div class="links">
    <a class="openpop" href="http://getbootstrap.com/">Link 1</a>
    <a class="openpop" href="http://www.jsfiddle.net">Link 2</a>
    <a class="openpop" href="http://www.w3schools.com">Link 3</a>
</div>
<div class="wrapper">
    <div class="popup">
        <iframe src="">
            <p>Your browser does not support iframes.</p>
        </iframe>
<a href="#" class="close">X</a>
    </div>
</div>

jquery

$(document).ready(function () {
    $(".popup").hide();
    $(".openpop").click(function (e) {
        e.preventDefault();
        $("iframe").attr("src", $(this).attr('href'));
        $(".links").fadeOut('slow');
        $(".popup").fadeIn('slow');
    });

    $(".close").click(function () {
        $(this).parent().fadeOut("slow");
        $(".links").fadeIn("slow");
    });
});

当然,您必须对样式进行一些更改以获得更好的视图体验:)

答案 1 :(得分:0)

  <script>

  $(document).ready(function(){
  $(".openpop").click(function(){
    var x =    $(this).attr('href');
    y =  x.replace('#', '');
    $(".popup").show().html('<iframe src="'+y+'"></iframe>');
    $("iframe").attr("href", y);


  });

   $(".close").click(function(){
     $(this).parent().fadeOut("slow");
  }); 

});

  </script>

你无法在iframe中打开谷歌和雅虎这两个网站都不允许它请看这个链接 Why Iframe dosen't work for yahoo.com

但您可以使用此代码打开w3school

答案 2 :(得分:0)

您也可以使用此

$('#clickme').click( function(){
    $('#showDiv').show();
    $('#iframe').attr('src','your url');
});