我试图滚动右侧的 div 标签,但这不起作用。但是向左滚动功能和带动画的向右滚动功能完美无缺。但是我想在没有动画的情况下向右滚动我试过这样的代码
$().ready(function(){
$("#container").scrollLeft(500); //This works
return hus;
});
function hus(){
$("#container").scrollLeft(-200); //This is not work
}
但是我想在右侧滚动没有动画我该怎么做?
我不确定你所说的“向右滚动”是什么意思。
$("#container").scrollLeft(500)
将 div 滚动到 500px 的 x 位置(这有效)
$("#container").scrollLeft(-200)
将 div 滚动到 -200px 的 x 位置,这不是有效位置,因为最小值为 0px,这是最左边的位置,你不能指望它会像圆圈一样“漂浮”到右边
scrollLeft: leftPos - 800
不会像你想的那样“向右滚动”,它也会将 div 元素向左滚动
所以,正如我所见,有 2 个可能的案例符合您的问题让我们开始:
var leftPos = $('#container').scrollLeft();
我们假设:
leftPos = 1000
,这是 div 的当前 x 位置
scrollWidth = 10000
,获取自$('#container')[0].scrollWidth
width = 500
,获取自$('#container').width()
如果你想从当前位置向右移动200px,即1200
,你可以使用:
$("#container").scrollLeft(leftPos + 200);
如果你想移动到右边“200px远”的正确位置,即10000-500-200
,你可以使用:
$("#container").scrollLeft(scrollWidth - width - 200);
希望这能解决您的问题。 (抱歉,我的语法不太好)
我是一名优秀的程序员,十分优秀!