javascript - 如何在没有动画的情况下完成 scrollRight?

标签 javascript jquery html css

我试图滚动右侧的 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);

希望这能解决您的问题。 (抱歉,我的语法不太好)

关于javascript - 如何在没有动画的情况下完成 scrollRight?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29579569/

相关文章:

html - 根据条件更改 Angular 中的元素文本

javascript - 请求 HTML 获取通过 AJAX 加载的 HTML 主体

javascript - jQuery Animate 内联样式问题

javascript - 如何使用 JavaScript 通过类名仅获取一个元素?

javascript - keydown() 和 Web Audio API 触发了太多事件

javascript - 如何通过滚动使标题背景不透明

javascript - 如何从函数参数创建数组名称

javascript - jquery中获取当前值jSTL foreach

jquery - jQuery 是否删除 AJAX 请求返回的脚本标签?

jquery - 每2秒滑动一个div