亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

JavaScript如何實現鼠標拖尾特效

發布時間:2021-12-31 16:44:26 來源:億速云 閱讀:270 作者:小新 欄目:開發技術

這篇文章主要介紹了JavaScript如何實現鼠標拖尾特效,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

看完這個保證你有手就行,制作各種好看的小尾巴!

JavaScript如何實現鼠標拖尾特效

全部代碼如下,看注釋可以輕易看懂

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
<style>
    /*div樣式*/
    #main{
        width: auto;height: 1500px;margin: 0;background-color: black;
    }
</style>
</head>
<body>
        <div id="main"></div>
 <script>
    //==========鼠標星球尾巴JS代碼============

    //========函數:獲取當前鼠標的坐標=========
     function getMousePosition(event) {
         var x = 0;//x坐標
         var y = 0;//y坐標
         //documentElement 返回一個文檔的文檔元素。
         doc = document.documentElement;
         //body 返回文檔的body元素
         body = document.body;
         //解決兼容性
         if (!event) event = window.event;
         //解決鼠標滾輪滾動后與相對坐標的差值
         //pageYoffset是Netscape特有
         if (window.pageYoffset) {
             x = window.pageXOffset;
             y = window.pageYOffset;
         } else {//其他瀏覽器鼠標滾動
             x = (doc && doc.scrollLeft || body && body.scrollLeft || 0)
                 - (doc && doc.clientLeft || body && body.clientLeft || 0);
             y = (doc && doc.scrollTop || body && body.scrollTop || 0)
                 - (doc && doc.clientTop || body && body.clientTop || 0);
         }
         //得到的x加上當事件被觸發時鼠標指針向對于瀏覽器頁面(或客戶區)的水平坐標
         x += event.clientX;
         //得到的x加上當事件被觸發時鼠標指針向對于瀏覽器頁面(或客戶區)的垂直坐標
         y += event.clientY;
         //返回x和y
         return {'x': x, 'y': y};
     }
     //========函數:獲取當前鼠標的坐標=========

     //=====生成從minNum到maxNum的隨機數=====
    function randomNum(minNum,maxNum){
        switch(arguments.length){
            case 1:
                return parseInt(Math.random()*minNum+1,10);
            case 2:
                return parseInt(Math.random()*(maxNum-minNum+1)+minNum,10);
            default:
                return 0;
        }
    }
    //=====生成從minNum到maxNum的隨機數======

    //======給整個文檔綁定一個鼠標移動事件======
    document.onmousemove = function(event){

        // 在頁面創建一個標簽,(這里是創建一個自定義標簽styleImg )
        var styleImg = document.createElement("div");
        //獲取隨機數1-5,根據隨機數來設置標簽的樣式
        var r = randomNum(1,5);
        switch (r) {
            case 1:
                //設置圖片的路徑,根據不同的路徑就可以更改成不同的樣式
                styleImg.innerHTML="<img src='../static/muban/images/xing01.png' style='width: 50px;height: auto;'/>"
                break;
            case 2:
                styleImg.innerHTML="<img src='../static/muban/images/xing02.png' style='width: 50px;height: auto;'/>"
                break;
            case 3:
                styleImg.innerHTML="<img src='../static/muban/images/xing03.png' style='width: 50px;height: auto;'/>"
                break;
            case 4:
                styleImg.innerHTML="<img src='../static/muban/images/xing04.png' style='width: 50px;height: auto;'/>"
                break;
            case 5:
                styleImg.innerHTML="<img src='../static/muban/images/xing05.png' style='width: 50px;height: auto;'/>"
                break;
        }
        // 由于要設置動畫,設置left 和top,因此,必須要設置定位
        styleImg.style.position = 'absolute'
        // 設置標簽的初始位置,即鼠標的當前位置
        var x = getMousePosition(event).x;
        var y = getMousePosition(event).y;
        // 設置styleImg的坐標
    	styleImg.style.top = y +"px";
        styleImg.style.left = x + "px";
        //綁定testDiv為當前鼠標小尾巴生效的區域
        var testDiv = document.getElementById("main");
        // 將新建的標簽加到頁面的 body標簽中
        testDiv.appendChild(styleImg);
        // 在文檔中有超出的地方就會不顯示,所以盡量綁定到頁面的div中
        // 設置溢出隱藏,為了防止鼠標在移動的過程中會觸發上下滾動條
        testDiv.style.overflow = 'hidden';
        //
    	var count = 0;
    	//setInterval() 方法可按照指定的周期(以毫秒計)來調用函數或計算表達式
        var time = setInterval(function(){
        // 設置定時器 ,讓每一次生成的標簽在指定的周期內修改相應的透明度
        	count += 5;
            styleImg.style.opacity = (100-count)/100 ;
        }, 30)
        // setTimeout() 方法用于在指定的毫秒數后調用函數或計算表達式。
        // 設置延時定時器, 在一定的時間后清除上面的定時器,讓創建的標簽不再進行變化
        setTimeout(function(){
            // 使用 clearInterval() 來停止執行setInterval函數
            clearInterval(time);
            // 刪除創建的標簽
            testDiv.removeChild(styleImg);
        },250)
    }
    </script>
</body>
</html>

ps:以上代碼參考了多篇不同的文獻后自己敲的,沒有面向VC寫博客哦!

最后把圖片素材送給你們吧,只要在上面代碼中做簡單的修改,便可以實現其他樣式的小尾巴 

JavaScript如何實現鼠標拖尾特效

JavaScript如何實現鼠標拖尾特效

JavaScript如何實現鼠標拖尾特效

JavaScript如何實現鼠標拖尾特效

感謝你能夠認真閱讀完這篇文章,希望小編分享的“JavaScript如何實現鼠標拖尾特效”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

林州市| 博乐市| 武胜县| 嘉定区| 股票| 云梦县| 兖州市| 花莲县| 阜城县| 华阴市| 禹州市| 根河市| 密云县| 彝良县| 阜城县| 襄城县| 永济市| 肥东县| 泾阳县| 漳州市| 瓮安县| 南和县| 岑巩县| 青海省| 图木舒克市| 延庆县| 巧家县| 白沙| 宽甸| 梁河县| 金沙县| 江安县| 兴文县| 聊城市| 深泽县| 色达县| 自治县| 水城县| 吉林市| 格尔木市| 丰都县|