1. <tfoot id='hHz3L'></tfoot>
        <bdo id='hHz3L'></bdo><ul id='hHz3L'></ul>
    1. <small id='hHz3L'></small><noframes id='hHz3L'>

    2. <i id='hHz3L'><tr id='hHz3L'><dt id='hHz3L'><q id='hHz3L'><span id='hHz3L'><b id='hHz3L'><form id='hHz3L'><ins id='hHz3L'></ins><ul id='hHz3L'></ul><sub id='hHz3L'></sub></form><legend id='hHz3L'></legend><bdo id='hHz3L'><pre id='hHz3L'><center id='hHz3L'></center></pre></bdo></b><th id='hHz3L'></th></span></q></dt></tr></i><div id='hHz3L'><tfoot id='hHz3L'></tfoot><dl id='hHz3L'><fieldset id='hHz3L'></fieldset></dl></div>
      <legend id='hHz3L'><style id='hHz3L'><dir id='hHz3L'><q id='hHz3L'></q></dir></style></legend>

      基于JavaScript实现回到页面顶部动画代码

      时间:2023-12-09
      1. <i id='zWeVD'><tr id='zWeVD'><dt id='zWeVD'><q id='zWeVD'><span id='zWeVD'><b id='zWeVD'><form id='zWeVD'><ins id='zWeVD'></ins><ul id='zWeVD'></ul><sub id='zWeVD'></sub></form><legend id='zWeVD'></legend><bdo id='zWeVD'><pre id='zWeVD'><center id='zWeVD'></center></pre></bdo></b><th id='zWeVD'></th></span></q></dt></tr></i><div id='zWeVD'><tfoot id='zWeVD'></tfoot><dl id='zWeVD'><fieldset id='zWeVD'></fieldset></dl></div>
          <tbody id='zWeVD'></tbody>
          <legend id='zWeVD'><style id='zWeVD'><dir id='zWeVD'><q id='zWeVD'></q></dir></style></legend>

              <bdo id='zWeVD'></bdo><ul id='zWeVD'></ul>
                <tfoot id='zWeVD'></tfoot>

                <small id='zWeVD'></small><noframes id='zWeVD'>

                实现回到页面顶部动画的代码需要使用JavaScript,下面是一份完整攻略:

                1. HTML 结构

                在页面中添加一个回到顶部的按钮,可以使用一个元素(如 div 或 a 标签)作为按钮,添加样式,如下所示:

                <div id="back-to-top">↑ 返回顶部</div>
                

                2. CSS 样式

                需要为按钮设置样式,包括按钮的位置、颜色、大小、边框等属性,如下所示:

                #back-to-top {
                  position: fixed;
                  bottom: 10px;
                  right: 10px;
                  background-color: #333;
                  color: #fff;
                  font-size: 16px;
                  padding: 10px 15px;
                  border-radius: 4px;
                  cursor: pointer;
                }
                

                3. JavaScript代码

                添加 JavaScript 代码,实现点击按钮后页面平滑返回到顶部的效果。这里使用了 requestAnimationFrame,在动画过程中可以更加平滑地滚动页面。

                var backToTopEle = document.querySelector('#back-to-top');
                var isShow = false;
                
                window.addEventListener('scroll', function() {
                  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
                  if (scrollTop > 100) {
                    if (!isShow) {
                      isShow = true;
                      backToTopEle.classList.add('show');
                    }
                  } else {
                    if (isShow) {
                      isShow = false;
                      backToTopEle.classList.remove('show');
                    }
                  }
                });
                
                function backToTop() {
                  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
                  if (scrollTop > 0) {
                    window.requestAnimationFrame(backToTop);
                    window.scrollTo(0, scrollTop - scrollTop / 8);
                  }
                }
                
                backToTopEle.addEventListener('click', backToTop);
                

                4. 示例说明

                示例一

                假设我们的页面有一个很长的列表,在页面底部添加一个回到顶部的按钮,代码实现如下:

                <div id="back-to-top">↑ 返回顶部</div>
                <!-- 省略列表代码 -->
                
                #back-to-top {
                  position: fixed;
                  bottom: 10px;
                  right: 10px;
                  background-color: #333;
                  color: #fff;
                  font-size: 16px;
                  padding: 10px 15px;
                  border-radius: 4px;
                  cursor: pointer;
                  display: none;
                }
                
                #back-to-top.show {
                  display: block;
                }
                
                var backToTopEle = document.querySelector('#back-to-top');
                var isShow = false;
                
                window.addEventListener('scroll', function() {
                  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
                  if (scrollTop > 100) {
                    if (!isShow) {
                      isShow = true;
                      backToTopEle.classList.add('show');
                    }
                  } else {
                    if (isShow) {
                      isShow = false;
                      backToTopEle.classList.remove('show');
                    }
                  }
                });
                
                function backToTop() {
                  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
                  if (scrollTop > 0) {
                    window.requestAnimationFrame(backToTop);
                    window.scrollTo(0, scrollTop - scrollTop / 8);
                  }
                }
                
                backToTopEle.addEventListener('click', backToTop);
                

                示例二

                如果我们的页面有多个回到顶部的按钮,我们可以使用类名来区分它们,代码实现如下:

                <div class="back-to-top">↑ 返回顶部</div>
                <!-- 省略其他代码 -->
                
                <div class="back-to-top">↑ 返回顶部</div>
                <!-- 省略其他代码 -->
                
                .back-to-top {
                  position: fixed;
                  bottom: 10px;
                  right: 10px;
                  background-color: #333;
                  color: #fff;
                  font-size: 16px;
                  padding: 10px 15px;
                  border-radius: 4px;
                  cursor: pointer;
                  display: none;
                }
                
                .back-to-top.show {
                  display: block;
                }
                
                var backToTopEles = document.querySelectorAll('.back-to-top');
                
                function onScroll() {
                  backToTopEles.forEach(function (backToTopEle) {
                    var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
                    if (scrollTop > 100) {
                      if (!backToTopEle.classList.contains('show')) {
                        backToTopEle.classList.add('show');
                      }
                    } else {
                      if (backToTopEle.classList.contains('show')) {
                        backToTopEle.classList.remove('show');
                      }
                    }
                  });
                }
                
                window.addEventListener('scroll', onScroll);
                
                function backToTop() {
                  var scrollTop = document.documentElement.scrollTop || document.body.scrollTop;
                  if (scrollTop > 0) {
                    window.requestAnimationFrame(backToTop);
                    window.scrollTo(0, scrollTop - scrollTop / 8);
                  }
                }
                
                backToTopEles.forEach(function (backToTopEle) {
                  backToTopEle.addEventListener('click', backToTop);
                });
                

                通过以上步骤,我们就可以实现一个基于 JavaScript 的回到页面顶部动画了。

                上一篇:纯js实现页面返回顶部的动画(超简单) 下一篇:JavaScript函数的一些注意要点小结及js匿名函数

                相关文章

                1. <small id='htNU6'></small><noframes id='htNU6'>

                  1. <i id='htNU6'><tr id='htNU6'><dt id='htNU6'><q id='htNU6'><span id='htNU6'><b id='htNU6'><form id='htNU6'><ins id='htNU6'></ins><ul id='htNU6'></ul><sub id='htNU6'></sub></form><legend id='htNU6'></legend><bdo id='htNU6'><pre id='htNU6'><center id='htNU6'></center></pre></bdo></b><th id='htNU6'></th></span></q></dt></tr></i><div id='htNU6'><tfoot id='htNU6'></tfoot><dl id='htNU6'><fieldset id='htNU6'></fieldset></dl></div>
                      <bdo id='htNU6'></bdo><ul id='htNU6'></ul>
                  2. <legend id='htNU6'><style id='htNU6'><dir id='htNU6'><q id='htNU6'></q></dir></style></legend>

                    <tfoot id='htNU6'></tfoot>