[英]AutoScroll div content both ways
我想使div自动滚动它的内容。 内容高度是可变的。 这是我设法解决的问题,但是如果我将height设置为.childElement.outerHeight或height,它将仅滚动78px,我不知道为什么。
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);
}
});
非常感谢您的帮助。
谢谢塞巴斯蒂安
我找到了解决方案。
主要问题是我使用了document.ready
,并且div的child元素没有包含所有项目,因此滚动高度不正确。 我已通过window.load
进行了更改,并对滚动动画进行了一些更改。 同样,动画功能上的参数错误。
这是最后的工作正常的代码段。
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);
});
}
})
尝试一下,我在您的代码中有一小段代码用于自动向上滚动和向下滚动而不停止鼠标悬停超时:
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);
});
}
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.