我是论坛的新手,第一个问题! 我是一个初学者,所以它可能非常基础......
我正在尝试实施一个能让iframe响应的代码
(function($) {
$.fn.responsiveVideo = function() {
// Add CSS to head
$( 'head' ).append( '<style type="text/css">.responsive-video-wrapper{width:100%;position:relative;padding:0}.responsive-video-wrapper iframe,.responsive-video-wrapper object,.responsive-video-wrapper embed{position:absolute;top:0;left:0;width:100%;height:100%}</style>' );
// Gather all videos
var el = $(this),
all_videos = el.find( 'iframe[src*="player.vimeo.com"], iframe[src*="youtube.com"], iframe[src*="dailymotion.com"],iframe[src*="kickstarter.com"][src*="video.html"], object, embed' );
// Cycle through each video and add wrapper div with appropriate aspect ratio
all_videos.each( function() {
var video = $(this)
aspect_ratio = video.attr( 'height' ) / video.attr( 'width' );
video
.removeAttr( 'height' )
.removeAttr( 'width' );
if ( ! video.parents( 'object' ).length )
video.wrap( '<div class="responsive-video-wrapper" style="padding-top: ' + ( aspect_ratio * 100 ) + '%" />' );
} );
};
} )(jQuery);
要激活它,我使用以下代码调用它:
$(window).ready(function() {
$( 'body' ).responsiveVideo();
});
我的问题是它只适用于第一次加载页面或刷新页面时。当我导航到包含iframe的页面时,它不起作用。
谢谢!
答案 0 :(得分:0)
试试这个
$(window).load(function() {
$( 'body' ).responsiveVideo();
});
而不是
$(window).ready(function() {
希望这可以帮助你:)