js實現(xiàn)簡單鼠標跟隨效果的方法

字號:


    鼠標跟隨,顧名思義,就是在鼠標移動的時候,有個動畫跟隨著鼠標一起移動。
    要點一:
    var oEvent = evt || window.event;
    這個是為了兼容ie和ff而寫的,在ie下window.event表示event對象,而ff下,是給事件函數(shù)傳一個參數(shù),這個參數(shù)就表示事件對象。
    要點二:
    document.onmousemove = function(evt)
    鼠標跟隨是在鼠標移動時發(fā)生的事情。
    要點三:
    document.documentElement.scrollTop || document.body.scrollTop;
    這是為了兼容chrome和其它瀏覽器,滾動條距上邊滾動的距離,chrome用后邊那個,其它瀏覽器用前面那個。
    要點四:
    oTop.style.top=oEvent.clientY+scrolltop+10+"px";
    當鼠標移動時把鼠標的當前位置賦值給元素的位置值。
    oEvent.clientY即為鼠標的當前Y坐標的位置,加scrolltop的距離是要在滾動到不是第一屏的時候,鼠標跟隨效果依然不改變而寫。
    代碼如下:
    <!DOCTYPE html>
    <html>
    <head>
    <meta charset="utf-8" />
    <title>無標題文檔</title>
    <style>
    body{margin:0; padding:0}
    #to_top{
    width:30px;
    height:40px;
    padding:20px;
    font:14px/20px arial;
    text-align:center;
    background:#06c;
    position:absolute;
    cursor:pointer;
    color:#fff
    }
    </style>
    <script>
    window.onload = function(){
    var oTop = document.getElementById("to_top");
    document.onmousemove = function(evt){
    var oEvent = evt || window.event;
    var scrollleft = document.documentElement.scrollLeft || document.body.scrollLeft;
    var scrolltop = document.documentElement.scrollTop || document.body.scrollTop;
    oTop.style.left = oEvent.clientX + scrollleft +10 +"px";
    oTop.style.top = oEvent.clientY + scrolltop + 10 + "px";
    }
    }
    </script>
    </head>
    <body>
    <a href="#">文字</a>
    <div id="to_top">鼠標跟隨</div>
    </body>
    </html>