<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>全站平稳返回顶部</title>
</head>
<body>
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
<div>17</div>
<div>18</div>
<div>19</div>
<div>20</div>
<div>21</div>
<div>22</div>
<div>23</div>
<div>24</div>
<div>25</div>
<div>26</div>
<div>27</div>
<div>28</div>
<div>29</div>
<div>30</div>
<div>01</div>
<div>02</div>
<div>03</div>
<div>04</div>
<div>05</div>
<div>06</div>
<div>07</div>
<div>08</div>
<div>09</div>
<div>10</div>
<div>11</div>
<div>12</div>
<div>13</div>
<div>14</div>
<div>15</div>
<div>16</div>
<div>17</div>
<div>18</div>
<div>19</div>
<div>20</div>
<div>21</div>
<div>22</div>
<div>23</div>
<div>24</div>
<div>25</div>
<div>26</div>
<div>27</div>
<div>28</div>
<div>29</div>
<div>30</div>
<div class="backTop">返回顶部</div>
</body>
</html>
html{
scroll-behavior: smooth;
}
.backTop {
position: fixed;
right: 5%;
bottom: 30px;
padding: 4px 8px;
background-color: #ccc;
opacity: 0;
transition: opacity 1s;
}
.active {
opacity: 1;
}
let dom = document.querySelector('.backTop')
window.addEventListener('scroll', () => {
const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
if (scrollTop > 200) {
dom.classList.add('active')
} else {
dom.classList.remove('active')
}
})
dom.addEventListener('click',() => {
console.log('dd');
// 设置滚动卷起的top为0即可, 平稳的滚动效果使用了 scroll-behavior: smooth;实现了
window.pageYOffset = document.body.scrollTop = document.documentElement.scrollTop = 0
})
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.