有没有办法使用jQuery来获取iframe以加载点击,我想这就像iframe隐藏在div中一样,直到点击后才能查看,所以绝大多数用户都不会查看iframe,我不希望加载时间受到iframe的影响。
这是我尝试过的少数几件事之一,iframe无法加载:
$(function() {
var emba=1;
var embget = 1;
$(".custemba").click(function(event) {
event.preventDefault(event);
if(emba == 1) {
emba = 2;
$('.custemb').slideDown();
if(embget == 2) {
$('.appendi').append('<iframe src="/player_i.php?aid=12" height="170px" width="100%" scrolling="no" frameborder="0"></iframe>');
embget = 2;
}
}
else if(emba == 2) {
emba = 1;
$('.custemb').slideUp();
}
});
});
答案 0 :(得分:1)
看起来像
if(embget == 2)
应该是
if(embget == 1)
你不需要
中的额外事件event.preventDefault();
这是一个简化版本:
var appendIFrame = true;
$(".custemba").click(function(event) {
event.preventDefault();
$('.custemb').slideToggle();
if(appendIFrame) {
$('.appendi').append('<iframe src="/player_i.php?aid=12" height="170px" width="100%" scrolling="no" frameborder="0"></iframe>');
appendIFrame = false;
}
});
答案 1 :(得分:1)
以下适用于我,一个清洁工,在追加之前创建对象:
<div>
<a href="#" class="showframe">Show iFrame</a>
</div>
<div class="framebox"></div>
var frame_loaded = false;
$(".showframe").click(function(event) {
event.preventDefault();
if (frame_loaded === false) {
var frame_element = $('<iframe>');
frame_element.attr({
src: "http://eatabagofdicks.com",
height: "170px",
width: "100%",
scrolling: "no",
frameborder: "0"
});
$(".framebox").append(frame_element);
frame_loaded = true;
}
$(".framebox").slideToggle();
});