滚动时更改图像

Image change on scroll

本文关键字:图像 滚动      更新时间:2023-09-26

继另一个SO问题之后

此脚本更改页面滚动上的图像。然而,如果该脚本用于具有200多个图像的视频帧,则该脚本将过大。是否可以缩短此脚本以用于大量文件?

非常感谢

小代码调整。。。

JSFiddle

http://jsfiddle.net/gvee/ygkWH/6/

HTML

<img src="http://placekitten.com/100/100" /><b>Frame: 0</b>

[说明]CSS

img, b {
    position: fixed;
    top: 0;
    left: 0;
}
body {
    height: 10000px;
}

JQuery

// Array of images to swap between
var images = [];
// Add 200 items to array
for (i = 0; i < 200; i++) {
    images.push('http://placekitten.com/' + (100 + i) + '/' + (100 + i));
}
var totalImages = images.length;
var pageHeight = $(document).height() - $(window).height();
// Work out how often we should change image (i.e. how far we scroll between changes)
var scrollInterval = Math.floor(pageHeight / totalImages);
$(document).scroll(function () {
    // Which one should we show at this scroll point?
    i = Math.floor($(this).scrollTop() / scrollInterval);
    // Show the corresponding image from the array
    $('img').attr('src', images[i]);
    $('b').text('Frame: ' + i);
});