溫馨提示×

溫馨提示×

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

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

原生JS如何實現(xiàn)的多個彩色小球跟隨鼠標移動動畫效果

發(fā)布時間:2021-04-20 13:13:04 來源:億速云 閱讀:324 作者:小新 欄目:web開發(fā)

這篇文章將為大家詳細講解有關原生JS如何實現(xiàn)的多個彩色小球跟隨鼠標移動動畫效果,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

JS是什么

JS是JavaScript的簡稱,它是一種直譯式的腳本語言,其解釋器被稱為JavaScript引擎,是瀏覽器的一部分,主要用于web的開發(fā),可以給網(wǎng)站添加各種各樣的動態(tài)效果,讓網(wǎng)頁更加美觀。

具體如下:

實現(xiàn)方法:

每個小球移動都有自己的坐標,小球移動的同時,需要進行坐標傳遞,將第一個坐標依次傳遞給最后一個坐標,來實現(xiàn)小球跟著移動的效果

實現(xiàn)代碼:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
  <title>小球運動</title>
  <style type="text/css">
   p {
    border-radius: 50%;
    width: 30px;
    height: 30px;
    position: absolute;
    text-align: center;
    line-height: 30px;
    color: white;
   }
  </style>
 </head>
 <body>
 </body>
 <script type="text/javascript">
  //創(chuàng)建數(shù)組存儲所有的小球
  var balls = [];
  //創(chuàng)建小球函數(shù)
  function createballs(){
   for (var i = 0;i < 60;i++) {
    var ball = document.createElement("p");
     ball.innerHTML = i + 1;
     ball.style.backgroundColor = randomColor();
    //將創(chuàng)建的小球存儲到數(shù)組中
    document.body.appendChild( ball);
    //將所有的小球存在數(shù)組中
     balls.push( ball);
   }
  }
  createballs();
  //隨機函數(shù)
  function randomNum(m, n) {
   return Math.floor(Math.random() * (n - m + 1) + m);
  }
  //隨機顏色
  function randomColor() {
   return "rgb(" + randomNum(0, 255) + "," + randomNum(0, 255) + "," + randomNum(0, 255) + ")";
  }
  document.onmousemove = function(e){
   var eventObj = e || event;
   for(var i = balls.length - 1;i > 0;i--){
    //將小球的下標通過for循環(huán)進行傳遞
     balls[i].style.left = balls[i - 1].style.left;
     balls[i].style.top= balls[i - 1].style.top;
   }
   //將第一個小球賦值為最新的事件對象中的坐標
    balls[0].style.left = eventObj.clientX + "px";
    balls[0].style.top= eventObj.clientY + "px";
  }
 </script>
</html>

運行效果:

原生JS如何實現(xiàn)的多個彩色小球跟隨鼠標移動動畫效果

關于“原生JS如何實現(xiàn)的多個彩色小球跟隨鼠標移動動畫效果”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節(jié)

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

js
AI