首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >当用户滚动通过某个div时如何更改CSS

当用户滚动通过某个div时如何更改CSS
EN

Stack Overflow用户
提问于 2014-11-18 10:17:23
回答 6查看 3.9K关注 0票数 4

我正在尝试实现一个滚动函数,它根据用户滚动的位置移动元素,这段代码目前为止是工作的,它确实会移动元素。

问题是,我希望有一个不同函数的列表,每当您根据某个div的id或类滚动某个div时,它就会移动特定的元素。

我想如果我改变了$("#pagelight2").scrollTop(),它会起作用,但这没有帮助。

如有任何指导,将不胜感激。

谢谢

更新后的代码可以工作,但是每当我向上滚动动画停止移动时,它真的会出现故障--谁知道更有效的方法来让它工作呢?

代码语言:javascript
运行
复制
    var $scrollingDiv = $(".Page3-PeopleWalkingDown");

    var p = $("#pagedark3");

    var offset = p.offset();

    var top = offset.top;

    $(window).scroll(function() {

                var scrollval = $(window).scrollTop() - top;

                if ($(window).scrollTop() > 1400) {
                    $scrollingDiv
                        .stop()
                        .animate({
                            "left": "-" + (scrollval) + "px"
                        });

                } else


                {

                    $scrollingDiv
                        .stop()
                        .animate({
                            "left": +(0) + "px"
                        });
                }
EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-11-18 11:10:47

您需要做的是计算每个特定DIV相对于页面顶部或可滚动区域的偏移高度。

然后,使用您的.scroll()函数,当达到偏移量(即“div”偏移量与“滚动”位置匹配)时,您可以启动动画。

此外,(基于稍微不同的偏移量(例如div偏移量-600 if ),如果用户滚动回页,通过动画,您可以“重置”动画。尽管如此,这可能最终会使用户感到厌烦,工作多于利益。。。

偏移量:http://api.jquery.com/offset/

scrollTop:http://api.jquery.com/scrolltop/

票数 9
EN

Stack Overflow用户

发布于 2014-11-24 05:28:20

斯克罗尔允许您根据滚动条的位置(如果您知道div的位置/偏移量)来动画任何元素的CSS属性。

例如,您可以更改div的背景色,当滚动条位于顶部时以红色开始,当div顶部到达窗口顶部时以绿色结尾。

代码语言:javascript
运行
复制
var s = skrollr.init();
代码语言:javascript
运行
复制
<script src="http://prinzhorn.github.io/skrollr/dist/skrollr.min.js"></script>

<div style="height: 100px"></div>
<div data-0p="background-color: red;" data-100="background-color: !green;" style="height: 200px;background-color: red;" >
</div>

票数 4
EN

Stack Overflow用户

发布于 2014-11-20 10:47:07

我建议你去看看https://github.com/customd/jquery-visible

这是一个jQuery插件,它允许我们快速检查元素是否在浏览器可视视图中,而不管滚动位置如何。如果用户可以看到此元素,则该函数将返回true。通过这种方式,您实际上可以找到用户是否已经浏览了不同的元素,并应用了您想要的动画。

然后,您可以使用您当前的代码,以获得您想要的数字,多少是滚动等等。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26991797

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档