How to scroll HTML page to given anchor?

后端 未结 17 2062
醉梦人生
醉梦人生 2020-11-22 08:55

I’d like to make the browser to scroll the page to a given anchor, just by using JavaScript.

I have specified a name or id attribute in my

17条回答
  •  清歌不尽
    2020-11-22 09:10

    A pure javascript solution without JQuery. Tested on Chrome & I.e, not tested on IOS

    function ScrollTo(name) {
      ScrollToResolver(document.getElementById(name));
    }
    
    function ScrollToResolver(elem) {
      var jump = parseInt(elem.getBoundingClientRect().top * .2);
      document.body.scrollTop += jump;
      document.documentElement.scrollTop += jump;
      if (!elem.lastjump || elem.lastjump > Math.abs(jump)) {
        elem.lastjump = Math.abs(jump);
        setTimeout(function() { ScrollToResolver(elem);}, "100");
      } else {
        elem.lastjump = null;
      }
    }
    

    demo: https://jsfiddle.net/jd7q25hg/12/

提交回复
热议问题