首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >双向AutoScroll div内容

双向AutoScroll div内容
EN

Stack Overflow用户
提问于 2013-03-21 03:32:23
回答 2查看 509关注 0票数 0

我想做一个div自动滚动它的内容。内容高度是可变的。这是我设法解决的问题,但如果我将高度设置为.childElement.outerHeight或height,它将只滚动78px,我不知道为什么。

代码语言:javascript
复制
 var element = jQuery('#content');
            setInterval(scrollDown(element), 1000)

        function scrollDown(element) {
            var childElement = element.children();
            scrollAmount = childElement.outerHeight();
            element.animate({ scrollTop: 1000 }, 3000, null, scrollUp(childElement));
        }
        function scrollUp(element) {
            element.animate({ scrollTop: 0 }, 500);
        }

        });

任何帮助都是非常感谢的。

谢谢,塞巴斯蒂安

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-21 05:19:23

我已经找到解决方案了。

主要问题是我使用了document.ready,而div的子元素没有包含其中的所有项,因此滚动高度不正确。我已经用window.load改变了这一点,并对滚动动画做了一些修改。此外,动画功能上的参数也是错误的。

这是最终的,工作正常的代码片段。

代码语言:javascript
复制
jQuery(window).load(function () {
    var element = jQuery('#content');
    var childElement = element.children();
    var scrollAmount = childElement.height();
    var speedDown = scrollAmount * 20;
    var speedUp = speedDown * 0.3;

    scrollDown(element, scrollAmount, speedUp, speedDown);

    function scrollDown(element, scrollAmount, speedUp, speedDown) {

        element.animate({ scrollTop: scrollAmount }, speedDown, function () {
            element.animate({ scrollTop: scrollAmount * -1 }, speedUp);
            scrollDown(element, scrollAmount, speedUp, speedDown);
        });
    }
})
票数 0
EN

Stack Overflow用户

发布于 2015-11-21 02:04:52

在small上试一下,我在你的代码中有一小行代码,用于自动scrollUp和Down non-stop,而不是鼠标悬停超时停止:

代码语言:javascript
复制
jQuery(window).load(function () {
  var element = jQuery('#content');
  var childElement = element.children();
  var scrollAmount = childElement.height();
  var speedDown = scrollAmount * 50;
  var speedUp = speedDown * 0.9;

  scrollDown(element, scrollAmount, speedUp, speedDown);

  function scrollDown(element, scrollAmount, speedUp, speedDown) {

    element.animate({ scrollTop: scrollAmount }, speedDown, function () {
        element.animate({ scrollTop: scrollAmount * +3 }, speedUp);
        scrollDown(element, scrollAmount, speedUp, speedDown);
        element.animate({ scrollTop: scrollAmount * -3 }, speedDown);
    });
  }
})
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15532986

复制
相关文章

相似问题

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