我写了一个滚动函数,可以让一个div在另一个div内滚动。思路是使用setInterval方法改变内部元素的margin来模拟滚动div。
我面临的问题是滚动不够流畅。有时会停顿一小段时间,然后又恢复。我该怎么做才能消除这些随机的抽搐?(我每20毫秒移动1像素)
我写了一个滚动函数,可以让一个div在另一个div内滚动。思路是使用setInterval方法改变内部元素的margin来模拟滚动div。
我面临的问题是滚动不够流畅。有时会停顿一小段时间,然后又恢复。我该怎么做才能消除这些随机的抽搐?(我每20毫秒移动1像素)
可能有三个评论可以作为答案:
我看到你已经在使用jQuery了。它有平滑的滚动功能。
你尝试过小数位置吗?比如 scrollerMarginTop -= 0.7;
此外,除非用户可以移动div并且您希望它恢复滚动到原位,否则您应该清除 clearInterval()。
如果它在没有交互的情况下运行良好,请考虑清除间隔并等待交互发生后重新设置间隔。
希望对你有所帮助。
虽然您发表这个问题已经有一段时间了,但如果您还没有找到可行的解决方案,您可以尝试Smooth Div Scroll这个jQuery插件,它可以实现你所描述的功能:滚动一个DIV在另一个DIV内部。