我正在制作类似于 www.yesstudio.co.uk 的导航。当您向下滚动页面时,固定位置的图像会更改以显示其中一个图像。
这是我的例子,它工作正常。我已经将隐藏的图像制作成半透明的,这样你就可以看到发生了什么。 http://smartpeopletalkfast.co.uk/demo/12.html
问题是换出图像的 javascript 手动重复了所需的 8 次。我还在要更改的图像的 src 中硬编码。我打算将此代码与 CMS 一起使用,因此我需要一个更智能的解决方案,该解决方案可以从页面获取图像的 src,并且还可以处理超过 8 个图像。
$(window).bind("load scroll", function() {
// get the height of the page
var bodyHeight = $('body').height();
//get the current scroll position
var scrollPos = $(window).scrollTop();
//get the height of the viewport
var viewportHeight = $(window).height();
//get the number of images in the list
var numberImages = $("#image-list img").size();
//the amount needed to scroll for each image is the page height minus the viewport height,
var scrollInterval = ( (bodyHeight - viewportHeight) / (numberImages) );
//for each scroll intervall assign the correct image.
if (scrollPos < scrollInterval) {
$('#img-main').attr('src', 'images/1.jpg');
}
if (scrollPos > scrollInterval && scrollPos < (scrollInterval*2) ) {
$('#img-main').attr('src', 'images/2.jpg');
}
if (scrollPos > (scrollInterval*2) && scrollPos < (scrollInterval*3) ) {
$('#img-main').attr('src', 'images/3.jpg');
}
if (scrollPos > (scrollInterval*3) && scrollPos < (scrollInterval*4) ) {
$('#img-main').attr('src', 'images/4.jpg');
}
if (scrollPos > (scrollInterval*4) && scrollPos < (scrollInterval*5) ) {
$('#img-main').attr('src', 'images/5.jpg');
}
if (scrollPos > (scrollInterval*5) && scrollPos < (scrollInterval*6) ) {
$('#img-main').attr('src', 'images/6.jpg');
}
if (scrollPos > (scrollInterval*6) && scrollPos < (scrollInterval*7) ) {
$('#img-main').attr('src', 'images/7.jpg');
}
if (scrollPos > (scrollInterval*7) && scrollPos < (scrollInterval*8) ) {
$('#img-main').attr('src', 'images/8.jpg');
}
});
更新 - 有人可以告诉我我应该用谷歌搜索来解决这个问题吗?我现在不知道从哪里开始。谢谢
更新 - 文件名不会总是整洁的 1.jpg。2.jpg 等。它们可以是任何东西。