Jquery 更改div的滚动速度?

Jquery 更改div的滚动速度?,jquery,css,Jquery,Css,我试图调整一些div的滚动速度,这取决于其他div(图像ul)是否完全位于网页底部上方 当div“image ul”移动到浏览器窗口底部边缘的上方或下方时,它确实会更改CSS,但在滚动或缩放窗口时,滚动速度不会更改。我还希望滚动速度,然后改变 只有在(重新)加载页面时,滚动速度才会根据“image ul”相对于浏览器窗口底部egde的位置变化 我做错了什么 因此,目标是当div“image ul”完全高于bowser窗口的底边时,div的滚动速度不同,而当div“image ul”不完全高于bo

我试图调整一些div的滚动速度,这取决于其他div(图像ul)是否完全位于网页底部上方

当div“image ul”移动到浏览器窗口底部边缘的上方或下方时,它确实会更改CSS,但在滚动或缩放窗口时,滚动速度不会更改。我还希望滚动速度,然后改变

只有在(重新)加载页面时,滚动速度才会根据“image ul”相对于浏览器窗口底部egde的位置变化

我做错了什么

因此,目标是当div“image ul”完全高于bowser窗口的底边时,div的滚动速度不同,而当div“image ul”不完全高于bowser窗口的底边时,这些div的滚动速度不同


我已经在以不同的速度实现移动元素,但是,正如我的问题所述,我需要根据div“image ul”是否完全位于浏览器窗口的底部egde之上来改变速度

    // Assign attribute specific "data-scroll-speed" to elements upon loading, resizing and scrolling of the webpage page. "if/else" is depending on if #image-ul is fully above the bottom edge of the browser window.
 $(document).ready(function() {
     $(window).on('load resize scroll', function() {
         var WindowScrollTop = $(this).scrollTop(),
             Div_one_top = $('#image-ul').offset().top,
             Div_one_height = $('#image-ul').outerHeight(true),
             Window_height = $(this).outerHeight(true);
         if (WindowScrollTop + Window_height >= (Div_one_top + Div_one_height)) {
             $('#sloganenglish').attr('data-scroll-speed', '4');
             $('.slogan-a-line').attr('data-scroll-speed', '5');
             $('.slogan-a-line').css('color', 'yellow');
         } else {
             $('#sloganenglish').attr('data-scroll-speed', '1');
             $('.slogan-a-line').attr('data-scroll-speed', '1');
             $('.slogan-a-line').css('color', 'red');
         }
     }).scroll();
 });

你的意思是实现类似于垂直视差场景的东西,元素以不同的速度移动吗

也许是这样,我们可以搜索一下“垂直视差”,看看一些例子


e、 g.:

我不确定我是否理解正确,但我发现在调用内联css更改时,数据滚动速度值没有得到更新。以下内容在某种程度上起作用,但我也不确定这是否正是您想要的。但也许这已经帮到你了:

重要的部分是这一行,我将其更改为获取当前值:

var pos = scrollTop / parseInt(this.el.attr('data-scroll-speed'));
原文是:

var pos = scrollTop / this.speed;

这就是你想要的吗?

我觉得很难理解这里的目标是什么……谢谢,@Rumplin!我们的目标是,当div“image ul”完全位于bowser窗口底部边缘上方时,div的滚动速度会有所不同,而当div“image ul”不完全位于bowser窗口底部边缘上方时,div的滚动速度会有所不同。如果您只想让“image ul”位于浏览器底部上方,为什么需要滚动速度?您可以使用固定位置的CSS来实现这一点,而无需在此处使用Javascript来实现神奇的效果。“image ul”可以完全位于浏览器窗口的底部egde之上,也可以不位于底部egde之上!根据这一点,我需要其他div的不同滚动速度。如果将浏览器窗口向下缩放,“image ul”不再完全高于浏览器窗口的底部边缘,那么其他div的滚动速度需要不同。我已经以不同的速度实现了移动元素,但是,正如我的问题所述,我需要根据div是否完全位于底部浏览器窗口egde上方来更改速度。因此,只要窗口小于图像ul框且字体为红色,滚动速度就等于1。但是一旦字体变为黄色,滚动速度就会相应地变为4和5。谢谢你,@halleron!是的,你对我希望发生的事情的理解是正确的。然而,您的代码解决了速度问题,但是当my image ul box完全移动到浏览器底部边缘上方时,改变滚动速度的元素也会在位置上跳转。我希望他们从当前位置开始更改滚动速度。因此,当浏览器窗口滚动时,图像ul将完全移动到浏览器窗口的底部边缘上方,并且使用您的代码,滚动速度将根据我的要求进行更改,谢谢。但我不想让改变滚动速度的元素在位置上突然跳跃。当滚动速度改变时,他们需要改变滚动速度。嘿,谢谢你的信息。嗯,我想现在已经修好了。现在,您可以在顶部的“配置”部分中设置元素的最大滚动速度。其余部分将动态计算。这就是你要找的吗?他们现在完全独立运作。你提到过更干净的代码吗?如果您随时有时间,请:)