我在我的网站中使用了一个位于iframe中的Twitter小部件。我正在设置这个iframe没有任何问题。 我遇到的问题是,我首先看到旧的让我们说iframe然后我可以看到风格的更改。 有没有办法隐藏iframe,而所有css /样式更改都在背景上发生,然后让它可见?
我使用这个jquery:
$(document).ready(function(){
hideTwitterBoxElements();
});
var hideTwitterAttempts = 0;
function hideTwitterBoxElements() {
setTimeout( function() {
if ( $('[id*=twitter]').length ) {
$('[id*=twitter]').each( function(){
var ibody = $(this).contents().find( 'body' );
ibody.find(".timeline .stream").css("padding-top", "10px")
if ( ibody.find(".timeline .stream .h-feed li.tweet").length )
ibody.find(".timeline").css("background-color","transparent");
ibody.find(".customisable-border").css("border","none");
ibody.find(".timeline .stream").css("overflow","hidden");
}
});
}
hideTwitterAttempts++;
if ( hideTwitterAttempts < 3 ) {
hideTwitterBoxElements();
$("#twitter").show();
}
}, 1500);
}
当我加载页面时,iframe会在一段时间后出现(如果可能的话我也想减少时间),然后我可以看到溢出更改为隐藏。
提前致谢。
答案 0 :(得分:0)
编辑:
使用this one对代码进行混搭,我们得到了相当不错的结果。
function hideTwitterBoxElements() {
var hideTwitterAttempts = 0;
if ($('.twitter-timeline').length) {
//Timeline exists is it rendered ?
interval_timeline = false;
interval_timeline = setInterval(function(){
//console.log($('.twitter-timeline').width());
if ($('.twitter-timeline').hasClass('twitter-timeline-rendered')) {
if ($('.twitter-timeline').width() > 10) {
//Callback
clearInterval(interval_timeline);
setTimeout( function() {
if ( $('[id*=twitter]').length ) {
$('[id*=twitter]').each( function(){
var ibody = $(this).contents().find( 'body' );
ibody.find(".timeline .stream").css("padding-top", "10px");
if ( ibody.find(".timeline .stream .h-feed li.tweet").length );
ibody.find(".timeline").css("background-color","transparent");
ibody.find(".customisable-border").css("border","none");
ibody.find(".timeline .stream").css("overflow","hidden");
});
}
hideTwitterAttempts++;
if ( hideTwitterAttempts < 40 ) {
hideTwitterBoxElements();
$("#twitter").show();
}
}, 100);
}
}
},200);
}
}
$(document).ready(function(){
hideTwitterBoxElements();
});