为了满足您的要求,您需要使用 JavaScript 来确定需要使用固定位置 div 将加载图像放置在可见部分上的位置,然后在用户调整窗口大小或滚动窗口时重新定位它,使其始终在所需的位置。
$(window).scroll(function() {
scrolling();
});
$(window).resize(function() {
scrolling();
});
scrolling();
function scrolling() {
var windowHeight = $(window).height();
var scrollTop = $(window).scrollTop();
var offsetTop = $('#thediv')[0].offsetTop;
var offsetHeight = $('#thediv')[0].offsetHeight;
var offsetWidth = $('#thediv')[0].offsetWidth;
var top = offsetTop - scrollTop;
top = top < 0 ? 0 : top;
var bottom = (scrollTop + windowHeight) - (offsetHeight + offsetTop);
bottom = bottom < 0 ? 0 : bottom;
$('.image').css('top', top);
$('.image').css('bottom', bottom);
$('.image').css('width', offsetWidth);
}
请注意,如果您更改 div 的宽度,您将始终需要调用该scrolling()
函数,以便它可以重新计算位置。
我还将加载图像作为背景图像添加到固定 div 中,以便我们可以使用 CSS 将其居中。
.image {
position: fixed;
text-align:center;
background-image:url('http://i.stack.imgur.com/FhHRx.gif');
background-repeat:no-repeat;
background-position:center center;
background-color:rgba(255,255,255,.4);
}
这是 JSFiddle http://jsfiddle.net/QWB9x/89/