背景滚动,内容上下匹配
Background scrolling with content matching top and bottom?
我有一个页面有一个简单的div。如果div在页面的顶部,背景图像(一个很长的垂直壁纸)也应该只显示顶部。如果我们一直向下滚动,那么在底部的最后一个区域,将显示背景的底部。其效果是,它就像一个视差,内容和背景图像的滚动同时发生,并相互缩放。
我该怎么做?
更新:我的尝试是这样的:
function setupMainContent(){
$("#programming").delay(1000).fadeIn(1000, function(){
$(window).scroll(function(){
var current = $(window).scrollTop();
var bottom = $(document).height() - $(window).height();
var scale = 100*(current/bottom);
$('body').css({
'background-position':scale+'%'
});
});
}
然而,我真的不知道如何使用引号中的变量。
更新:我用这个开始工作:
function setupMainContent(){
$("#programming").delay(1000).fadeIn(1000, function(){
$(window).scroll(function(){
var current = $(window).scrollTop();
var bottom = $(document).height() - $(window).height();
var scale = 100*(current/bottom) + "%";
document.body.style.backgroundPosition = "center " + scale;
});
});
}
但这似乎对业绩产生了非常不利的影响。有什么方法可以让它反应更快吗?
CSS:
background-attachment: fixed;
https://developer.mozilla.org/en-US/docs/Web/CSS/background-attachment
这对我有效:
function setupMainContent(){
$("#programming").delay(1000).fadeIn(1000, function(){
$(window).scroll(function(){
var current = $(window).scrollTop();
var bottom = $(document).height() - $(window).height();
var scale = 100*(current/bottom) + "%";
document.body.style.backgroundPosition = "center " + scale;
});
*/
});
}
相关文章:
- JavaScript上下滚动不可预测
- 在文本区域中上下滚动
- 自动上下滚动元素
- 如何制作HTML小部件“;跟随“;当用户在页面上下滚动时,保持可见
- 垂直平滑上下滚动
- 如何使导航栏随着滚动上下滚动
- 为什么在HTML和JavaScript中,如果内容上下滚动,则内容不会得到滚动事件
- 当用户上下滚动页面时,使一个小箭头从左向右移动
- 当用户在屏幕上上上下滚动时旋转图像
- 上下滚动页面JavaScript导航
- 在剑道ui网格中上下滚动时取消复选框
- 使用jQuery scrollTop上下滚动一定数量的像素
- 从带有类的链接上下滚动列表
- 如何避免在jQuery移动端打开弹出窗口时上下滚动
- 在一个脚本中自动刷新和自动上下滚动
- 如何自动上下滚动去打开页面…
- JavaScript无限上下滚动元素
- 动画上下滚动Javascript
- 在上下滚动期间添加css类
- 无限自动上下滚动,如何控制/配置速度,结束时的暂停时间