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

如何使用JavaScript滚动到某个元素?

/ 猿问

如何使用JavaScript滚动到某个元素?

隔江千里 2019-09-21 13:51:24

我正在尝试将页面移至某个<div>元素。


我尝试下一个代码无济于事:


document.getElementById("divFirst").style.visibility = 'visible';

document.getElementById("divFirst").style.display = 'block';


查看完整描述

3 回答

?
慕容708150

您可以使用锚点来“聚焦” div。即:


<div id="myDiv"></div>

然后使用以下javascript:


// the next line is required to work around a bug in WebKit (Chrome / Safari)

location.href = "#";

location.href = "#myDiv";


查看完整回答
反对 回复 2019-09-21
?
一只萌萌小番薯

scrollIntoView运作良好:


document.getElementById("divFirst").scrollIntoView();

MDN文档中的完整参考:https : 

//developer.mozilla.org/zh-CN/docs/Web/API/Element.scrollIntoView


查看完整回答
反对 回复 2019-09-21
?
MM们

您的问题和答案看起来不同。我不知道我是否记错了,但是对于那些用谷歌搜索并到达此处的人,我的答案是:


我对stackoverflow的回答

一个类似的问题

我的回答说明:


这是一个简单的JavaScript


当您需要滚动屏幕到具有id =“ yourSpecificElementId”的元素时调用此方法


window.scroll(0,findPos(document.getElementById("yourSpecificElementId")));

即。对于上述问题,是否打算将屏幕滚动到ID为'divFirst'的div


该代码将是: window.scroll(0,findPos(document.getElementById("divFirst")));


并且您需要此功能来工作:


//Finds y value of given object

function findPos(obj) {

    var curtop = 0;

    if (obj.offsetParent) {

        do {

            curtop += obj.offsetTop;

        } while (obj = obj.offsetParent);

    return [curtop];

    }

}

屏幕将滚动到您的特定元素。


查看完整回答
反对 回复 2019-09-21

添加回答

回复

举报

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