JS回到顶部案例

 需求  

      约定一个临界值  500px

      当滚动条超过 这个临界值 按钮显示

      默认 回到顶部 按钮是隐藏的

      小于以后再隐藏

      用户点击按钮 回到顶部  

      滚动条的高度 top 为 0 就是回到顶部  

      给按钮一个点击效果  

<!DOCTYPE html>
<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>Document</title>
    <style>
        * {
      margin: 0;
      padding: 0;
    }

    body {
      width: 100%;
      height: 5000px;
    }

    .header {
      width: 100%;
      height: 80px;
      display: flex;
      justify-content: center;
      align-items: center;
      font-size: 30px;
      color: #fff;
      background-color: skyblue;

      position: fixed;
      left: 0;
      top: -80px;

      transition: top .5s linear;
    }

    .goTop {
      width: 50px;
      height: 50px;
      font-size: 22px;
      line-height: 25px;
      border: 1px solid #333;
      position: fixed;
      right: 50px;
      bottom: 50px;
      cursor: pointer;
      background-color: orange;
      text-align: center;

      display: none;
    }
    </style>
</head>

<body>
    <div class="header">顶部通栏</div>
    <div class="goTop">回到顶部</div>

    <ul>
        <li>1</li>
        <li>2</li>
        <li>3</li>
        <li>4</li>
        <li>5</li>
        <li>6</li>
        <li>7</li>
        <li>8</li>
        <li>9</li>
        <li>10</li>
        <li>11</li>
        <li>12</li>
        <li>13</li>
        <li>14</li>
        <li>15</li>
        <li>16</li>
        <li>17</li>
        <li>18</li>
        <li>19</li>
        <li>20</li>
        <li>21</li>
        <li>22</li>
        <li>23</li>
        <li>24</li>
        <li>25</li>
        <li>26</li>
        <li>27</li>
        <li>28</li>
        <li>29</li>
        <li>30</li>
        <li>31</li>
        <li>32</li>
        <li>33</li>
        <li>34</li>
        <li>35</li>
        <li>36</li>
        <li>37</li>
        <li>38</li>
        <li>39</li>
        <li>40</li>
        <li>41</li>
        <li>42</li>
        <li>43</li>
        <li>44</li>
        <li>45</li>
        <li>46</li>
        <li>47</li>
        <li>48</li>
        <li>49</li>
        <li>50</li>
        <li>51</li>
        <li>52</li>
        <li>53</li>
        <li>54</li>
        <li>55</li>
        <li>56</li>
        <li>57</li>
        <li>58</li>
        <li>59</li>
        <li>60</li>
        <li>61</li>
        <li>62</li>
        <li>63</li>
        <li>64</li>
        <li>65</li>
        <li>66</li>
        <li>67</li>
        <li>68</li>
        <li>69</li>
        <li>70</li>
        <li>71</li>
        <li>72</li>
        <li>73</li>
        <li>74</li>
        <li>75</li>
        <li>76</li>
        <li>77</li>
        <li>78</li>
        <li>79</li>
        <li>80</li>
        <li>81</li>
        <li>82</li>
        <li>83</li>
        <li>84</li>
        <li>85</li>
        <li>86</li>
        <li>87</li>
        <li>88</li>
        <li>89</li>
        <li>90</li>
        <li>91</li>
        <li>92</li>
        <li>93</li>
        <li>94</li>
        <li>95</li>
        <li>96</li>
        <li>97</li>
        <li>98</li>
        <li>99</li>
        <li>100</li>
    </ul>
    <script>
      // 需求  
      // 约定一个临界值  500px 
      // 当滚动条超过 这个临界值 按钮显示 
      // 默认 回到顶部 按钮是隐藏的 
      // 小于以后再隐藏 

      // 用户点击按钮 回到顶部  
      // 滚动条的高度 top 为 0 就是回到顶部  

      // 给按钮一个点击效果  

      //1. 获取元素 
      var headerEle = document.getElementsByClassName('header')[0];
      // getElementsByClassName 得到的是一个数组
      // 需要从数组中提出元素 
      // 加下标
      var goTopEle = document.querySelector('.goTop');

      // 回到顶部 效果实现 滚动条直滚动 
      window.onscroll = function () {

          var scrolltop = document.documentElement.scrollTop||document.body.scrollTop;
          // console.log(scrolltop);
          if (scrolltop>=500) {
            goTopEle.style.display = 'block';
            headerEle.style.top = 0;
          }else{
            goTopEle.style.display = 'none';
            headerEle.style.top = '-80px';
          }


      }

      goTopEle.onclick = function(){
        window.scrollTo({top:0,behavior:'smooth'});
      }
    </script>



</body>

</html>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值