Javascript 更改滚动条上的背景位置?

Javascript 更改滚动条上的背景位置?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,在此代码中,更改背景位置从主体滚动开始。当滚动条位于背景图像上时,我想更改背景位置 $(函数(){ 变量旋转器=$(“#旋转器”); var容器=$(文档); var viewport=$(窗口); var=72; var imageHeight=30000/张图像; var scrollHeight=container.height()-viewport.height()+imageHeight; var step=图像/滚动高度; viewport.scroll(函数(事件){ var x

在此代码中,更改背景位置从主体滚动开始。当滚动条位于背景图像上时,我想更改背景位置

$(函数(){
变量旋转器=$(“#旋转器”);
var容器=$(文档);
var viewport=$(窗口);
var=72;
var imageHeight=30000/张图像;
var scrollHeight=container.height()-viewport.height()+imageHeight;
var step=图像/滚动高度;
viewport.scroll(函数(事件){
var x=-Math.floor(步骤*viewport.scrollTop())*imageHeight;
css('background-position',x+'px0');
});
});
正文{
高度:2000px;
}
#旋转器{
字号:416px;
宽度:1米;
高度:1米;
位置:相对位置;
顶部:580px;
右:0;
z指数:-1;
背景:透明url(https://www.3sessanta.it/images/polaroid/sprite_polaroid_total.jpg)无重复0;

您需要在背景更改开始时添加条件
如果(viewport.scrollTop()>固定值)
则需要从计算中删除相同的值,如下所示:

$(函数(){
变量旋转器=$(“#旋转器”);
var容器=$(文档);
var viewport=$(窗口);
var=72;
var imageHeight=30000/张图像;
var scrollHeight=container.height()-viewport.height()+imageHeight;
var step=图像/滚动高度;
viewport.scroll(函数(事件){
如果(viewport.scrollTop()>580){
var x=-Math.floor(步骤*(viewport.scrollTop()-580))*imageHeight;
css('background-position',x+'px0');
}
});
});
正文{
高度:2000px;
}
#旋转器{
字号:416px;
宽度:1米;
高度:1米;
位置:相对位置;
顶部:580px;
右:0;
z指数:-1;
背景:透明url(https://www.3sessanta.it/images/polaroid/sprite_polaroid_total.jpg)不重复0;
}


谢谢你的回答,但我想在滚动处于页面中间时更改背景位置,我不想修复图像,然后将其包装在基于偏移量的条件下。顶部
&
窗口。滚动
对不起,我不知道如何操作。你能给我举个例子或编辑我的代码吗?@lixex你能更具体一点吗fic,实际上你的代码正在这样做不?@Temaniaf如果没有。在我的代码中,当我滚动并看到图像时,背景位置在-6666.67px上,我希望当我第一次播种图像时,背景位置在0而不是-6666.67px上