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; }); });