Javascript 如何在单击iframe块时仅加载它?

Javascript 如何在单击iframe块时仅加载它?,javascript,html,css,iframe,popup,Javascript,Html,Css,Iframe,Popup,我已经试着找出如何真正做到这一点,但代码总是不同的,没有任何工作。我总是破坏链接或弹出窗口本身。我这里有一个代码: .popup { position:fixed; display:none; top:0px; left:0px; width:100%; height:100%;} #displaybox { width:460px; margin:50px auto; background-color:#000000;}

我已经试着找出如何真正做到这一点,但代码总是不同的,没有任何工作。我总是破坏链接或弹出窗口本身。我这里有一个代码:

.popup {
    position:fixed;
    display:none;
    top:0px;
    left:0px;
    width:100%;
    height:100%;}

#displaybox {
    width:460px;
    margin:50px auto;
    background-color:#000000;}

.displaybox {
    display:block;
    position:relative;
    overflow:hidden;
    height:800px;
    width:550px;}

.displaybox iframe {
    position:absolute;}


<link><a id="object">click link</a></link>

<script>
$(function(){
   $("link a").click(function(){
      id = $(this).attr("id");
      $(".popup:not(."+id+")").fadeOut(); $(".popup."+id).fadeIn();
   });
   $("a.close").click(function(){
      $(".popup").fadeOut();
   });
});
</script>

<div class="popup object">
    <div id="displaybox"><a class="close">x</a>
<br>
<div class="displaybox"><iframe src="{theiframeblock}" height="800" frameborder="0" width="550"></iframe></div>
</div>
.popup{
位置:固定;
显示:无;
顶部:0px;
左:0px;
宽度:100%;
高度:100%;}
#显示框{
宽度:460px;
保证金:50px自动;
背景色:#000000;}
.显示框{
显示:块;
位置:相对位置;
溢出:隐藏;
高度:800px;
宽度:550px;}
.displaybox iframe{
位置:绝对;}
点击链接
$(函数(){
$(“链接a”)。单击(函数(){
id=$(this.attr(“id”);
$(.popup:not(.“+id+”).fadeOut();$(.popup.+id.fadeIn();
});
$(“a.close”)。单击(函数(){
$(“.popup”).fadeOut();
});
});
x

我只想在单击“单击链接”链接时加载iframe块。我必须如何更改该脚本?有什么建议吗?:)

您可以使用:

$("#object").click(function() { 
   $("iframe").attr("src", "http://www.your-url.com");     
});

不允许跨源请求

您可以通过使用jQuery轻松完成

试试这个-

HTML-

您可以切换iframe更新的打开/关闭状态 我提供的代码片段非常简单,所以我假设当您测试它时,您要么遗漏了一些代码,要么将内容按错误的顺序放置,要么您的站点以某种方式进行了干扰

因此,我所做的就是把它自己运行所需的一切都放在主页上(
index.html
)。我还创建了第二个页面(
target.html
),它是驻留在iframe中的测试页面

这是我的建议


通过以下方式简化您的功能:

  • 为弹出窗口提供id
    #tgt
  • 删除了
    元素;它不是一个锚
    
    

    你好,非常感谢!c:我根据您的指示更改了代码,但是iframe页面仍然与主页同时加载。我想问的是,是否有一种方法可以在打开链接时只加载iframe块?剧本中还有什么需要修改的吗?不客气。我文章中的代码段是否自动加载iframe?我有一个更新供你审阅,如果它对你有用,别忘了点击我帖子上的绿色复选标记(如果它真的对你有帮助,你也可以投票支持我的帖子);-)如果它不起作用,请让我知道,但我99.9%肯定这个更新是好去。
    <a href="#" id="openFrame">Click Link</a>
    <div id="iFrameContainer">
      <iframe src="http://www.bbc.com" id="bestIframeEver" height="600" width="300" style="display:none;">
    
      </iframe>
    </div>
    
    var isOpened = false;
    
    $(document).ready(function() {
      $("#openFrame").click(function() {
        if (!isOpened) {
          $("#bestIframeEver").fadeIn(1000);
        } else {
          $("#bestIframeEver").fadeOut(1000);
        }
        isOpened = !isOpened;
      });
    });