javascript - 如何在javascript中控制元素的滚动条?

标签 javascript html css

我需要这样的东西:

var obj=document.getElementById('s');
obj.scrollRight(200);

HTML:

<div style="overflow-x=scroll;" id="s">
  Inline elements..
</div>

重要说明:我知道有一个“scrollTop(0)”函数,但我还需要知道是否还有一个 scrollRight(2)!

最佳答案

如果 scrollRight 是您想要重复使用的东西,那么就自己构建吧。计算它应该如何工作很容易:

HTML

<div class="container">
  <div class="big-element"></div>
</div>

CSS

.container {
  border: 1px solid #666;
  width: 1000px;
  height: 400px;
  overflow-x: scroll;
  overflow-y: hidden;
}

.big-element {
  width: 1500px;
  height: 400px;
  background: linear-gradient(to right, #AAA, #CCC);
}

JS

const container = document.querySelector('.container');
const bigel = document.querySelector('.big-element');

function scrollRight(value) {
  const available = bigel.offsetWidth - container.offsetWidth;
  container.scrollLeft = available - value;
}

scrollRight(200);

here's a pen for you to play with .

PS:如果您真的想更频繁地使用它,您甚至可以将它构建到 Element 原型(prototype)中,尽管有些人不喜欢这样做.

关于javascript - 如何在javascript中控制元素的滚动条?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46233598/

相关文章:

javascript - 为什么在选择列表上拖动会更改或清除选择?

javascript - 切换打开/关闭 Accordion

javascript - 使用复选框显示和隐藏 Div

html - 在右上角显示文本,就像在文档中一样?

html - 页脚与内容重叠

jquery - 字段集上的 CSS Focus 操作不起作用?

javascript - removeClass 设置显示无

javascript - 模式 Bootstrap 中的 Codeigniter 表单无法使用 jquery 传递多个复选框

html - Internet Explorer 8 及以下版本的显示样式

css - 选择图片的 alt 属性