zoukankan      html  css  js  c++  java
  • JS——鼠标跟随

    注意事项:

    1、pageX、pageY的兼容问题

    2、使目标移动鼠标中间位置还必须减去盒子宽度的一半

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Title</title>
        <style>
            div {
                width: 100px;
                height: 100px;
                background-color: #ccc;
                position: absolute;
            }
        </style>
    </head>
    <body>
    <div></div>
    <script>
        var divEle = document.getElementsByTagName("div")[0];
        var timer = null;
        document.onclick = function (ev) {
            ev = ev || window.event;
            console.log(ev);
            var pageX = ev.pageX || scroll().left + ev.clientX;
            var pageY = ev.pageY || scroll().top + ev.clientY;
            animateX(divEle, pageX - 50, pageY - 50);
        }
    
    
        function animateX(ele, targetX, targetY) {
            clearInterval(timer);
            timer = setInterval(function () {
                var stepX = (targetX - ele.offsetLeft) / 10;
                stepX = stepX > 0 ? Math.ceil(stepX) : Math.floor(stepX);
                ele.style.left = ele.offsetLeft + stepX + "px";
                console.log(1);
                var stepY = (targetY - ele.offsetTop) / 10;
                stepY = stepY > 0 ? Math.ceil(stepY) : Math.floor(stepY);
                ele.style.top = ele.offsetTop + stepY + "px";
    
                if (Math.abs(targetX - ele.offsetLeft) <= Math.abs(stepX) && Math.abs(targetY - ele.offsetTop) <= Math.abs(stepY)) {
                    ele.style.left = targetX + "px";
                    ele.style.top = targetY + "px";
                    clearInterval(timer);
                }
            }, 15);
        }
    
        function scroll() {
            return {
                "top": window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop,
                "left": window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft
            };
        }
    </script>
    </body>
    </html>
  • 相关阅读:
    tty & pty & pts
    PageRank
    How to run a terminal inside of vim?
    vimdiff
    svn's tree conflict
    svn's diff command
    符号表分离
    gcc -D
    Options for Debugging Your Program or GCC
    invoking gdb
  • 原文地址:https://www.cnblogs.com/wuqiuxue/p/7976963.html
Copyright © 2011-2022 走看看