• Javascript----实现火箭按钮网页置顶


    1、代码

     <!DOCTYPE html>
    <html>
    
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    
    <body>
        <!--
    			火箭2.0版本(火箭的速度先快后慢,当body的scorllTop距离小于8%时,速度变快,并且火箭最终飞出顶部)
    		-->
        <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
    
        .web {
            height: 10000px;
            background: linear-gradient(#fff, #000);
        }
    
        .rocket {
             149px;
            height: 249px;
            background: url(imgs/rocket_button_up.png) 0% 0%;
            position: fixed;
            top: 420px;
            right: 20px;
            cursor: pointer;
        }
    
        .rocket:hover {
            background-position: -100% 0;
        }
        </style>
        <div class="web">
        </div>
        <div class="rocket" title="点击回到顶部" id='rocket'>
        </div>
        <script type="text/javascript">
        var rocketBtn = document.getElementById("rocket");
        var d1 = parseInt(getComputedStyle(rocketBtn, "position").getPropertyValue("top"));
        var d = d1;
        var s = 2;
        var interVal;
        var rocketSpeed = 10;
    
        rocketBtn.addEventListener("click", function() {
    
        	var scrollPosition = window.document.body.scrollTop;
    
        	console.log(scrollPosition);
         
            interVal = setInterval(function() {
                if(d>-250){
            	   // console.log(d+"/"+(d1+500)+"="+d/(d1+500));
    	            if(d/(d1+250)<0.3){
    	            	rocketSpeed = 100;
    	            }
                }
                if (d >-400) {
                    if (s != 6) {
                        s++;
                    } else {
                        s = 2;
                    }
                    rocketBtn.setAttribute("style", "top:" + d);
                    d -= rocketSpeed;
                    if(rocketSpeed>4){
                        rocketSpeed-=0.2;
                    }
                    //console.log("d1:" + d1 + "-->d:" + d);
                    rocketBtn.style.backgroundPosition = (-100 * s) + "% 0";
                    window.document.body.scrollTop -= 1000;
                } else {
                    clearInterval(interVal);
                }
            }, 50)
    
        })
        </script>
    </body>
    
    </html>
    

      

    2、效果

     3、总结

  • 相关阅读:
    20190318-使用类做一个简单的图书馆管理系统
    20190313-面向对象的简单理解
    20190313-时间和日期-Time
    20190305-leetcode题目有效的括号
    20190227-做一个简易代码统计工具
    20190226-利用序列化完成小型记账程序
    20190221-文件操作
    20190131-文件操作命题练习
    Excel技巧—如何从重复行中取某一行
    Excel技巧—轻松搞定多级联动下拉列表
  • 原文地址:https://www.cnblogs.com/SunlikeLWL/p/7262634.html
Copyright © 2020-2023  润新知