我發現了一個簡單的函數,從這裏叫isScrolledIntoView
,用於檢查元素是否在視口中視圖:
function isScrolledIntoView(elem) {
var $window = $(window),
docViewTop = $window.scrollTop(),
docViewBottom = docViewTop + $window.height(),
elemTop = $(elem).offset().top,
elemBottom = elemTop + $(elem).outerHeight();
return ((elemBottom <= docViewBottom) && (elemTop >= docViewTop));
}
可以實現上述功能是這樣的:
$(window).on("scroll", function() {
$('div.video').each(function() {
// Change the div element into a video when reached the visible area
if (isScrolledIntoView(this)) {
$(this).replaceWith('<iframe class="video" src="' + $(this).data('video') + '"></iframe>');
}
});
});
演示:http://jsfiddle.net/tovic/vVaat/11/
很多。你可以用你已經在小提琴中已有的代碼來詳細描述你的場景嗎? –