为了账号安全,请及时绑定邮箱和手机立即绑定

如何滚动到div内的元素?

如何滚动到div内的元素?

慕虎7371278 2019-08-12 14:34:23
如何滚动到div内的元素?我有一个滚动的div,当我点击它时我想要一个链接它会强制div滚动查看里面的元素。我写了这样的JavasSript:document.getElementById(chr).scrollIntoView(true);但这会在滚动div自己的同时滚动所有页面。如何解决?我想这样说MyContainerDiv.getElementById(chr).scrollIntoView(true);
查看完整描述

3 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

您需要获取要滚动到视图中的元素的顶部偏移量,相对于其父元素(滚动div容器):

var myElement = document.getElementById('element_within_div');var topPos = myElement.offsetTop;

变量topPos现在设置为滚动div的顶部与您希望可见的元素之间的距离(以像素为单位)。

现在我们告诉div使用scrollTop以下方式滚动到该位置:

document.getElementById('scrolling_div').scrollTop = topPos;

如果您正在使用原型JS框架,那么您将执行以下相同的操作:

var posArray = $('element_within_div').positionedOffset();$('scrolling_div').scrollTop = posArray[1];

同样,这将滚动div,以便您希望看到的元素正好位于顶部(或者如果不可能,则尽可能向下滚动以使其可见)。


查看完整回答
反对 回复 2019-08-12
?
杨魅力

TA贡献1811条经验 获得超6个赞

您必须在要滚动到的DIV中找到元素的位置,并设置scrollTop属性。

divElem.scrollTop = 0;

更新

向上或向下移动的示例代码

  function move_up() {
    document.getElementById('divElem').scrollTop += 10;
  }

  function move_down() {
    document.getElementById('divElem').scrollTop -= 10;
  }


查看完整回答
反对 回复 2019-08-12
  • 3 回答
  • 0 关注
  • 962 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信