欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實現(xiàn)鼠標(biāo)移動拖尾

 更新時間:2020年12月27日 11:17:23   作者:day0  
這篇文章主要為大家詳細(xì)介紹了JS實現(xiàn)鼠標(biāo)移動拖尾效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

本文實例為大家分享了JS實現(xiàn)鼠標(biāo)移動拖尾的具體代碼,供大家參考,具體內(nèi)容如下

JS 代碼

function getMousePos(event) {
  var e = event || window.event;
  var mouseInfo = {
    mouseX : e.clientX,
    mouseY : e.clientY
  }
  return mouseInfo;
}
 
function getMouseArt() {
  this.artStyle = {
    position: "fixed",
    top: 0,
    left: 0,
    width: "50px",
    height: "50px",
    "font-size": 0,
    "color": 0,
    "text-transform": 0
  };
  this.init = function(obj) {
    var character = ["你", "真", "的", "愛", "我", "嗎", "喜", "歡", "不", "對", "起", "彩", "色", "世", "界", "灰", "?"];
    var font_trans = ["uppercase", "lowercase"];
    this.Alpha = 1;
 
    this.element = document.createElement('div');
    var text = document.createTextNode(character[Math.floor(Math.random() * character.length)]);
    this.element.appendChild(text);
 
    this.addStyle(this.element, this.artStyle);
 
    var offsetV = Math.floor(Math.random() * 60 - 30); // -30 ~ 30
    this.element.style.left = obj.mouseX + offsetV +"px"; // x
    this.element.style.top = obj.mouseY + offsetV +"px"; // y
    this.element.style.fontSize = Math.floor(Math.random() * 20 + 10) + "px";
    this.element.style.color = "hsla("+ Math.floor(Math.random() * 255) + ",100%,50%," + this.Alpha + ")";
    this.element.style.textTransform = font_trans[Math.floor(Math.random() * 2)];
 
    document.body.appendChild(this.element);
  }
  this.addStyle = function(ele, genuine) {
    for (var k in genuine) {
      ele.style[k] = genuine[k];
    }
  }
  this.delElement = function() {
    document.body.removeChild(this.element);
  }
  this.reduceColor = function(win) {
    if (this.Alpha <= 1 && this.Alpha > 0) {
      this.Alpha = this.Alpha - 0.1;
      this.element.style.color = "hsla("+ Math.floor(Math.random() * 255) + ",100%,50%," + this.Alpha + ")";
      console.log(this.Alpha);
     }
    else {
      clearInterval(win);
      this.delElement();
    }
  }
}
 
document.onmousemove = function(event) {
  var obj = getMousePos(event);
  var art = new getMouseArt();
  art.init(obj);
  var win = setInterval(function() {
    art.reduceColor(win);
  }, 30);
}

HTML 代碼

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <style>
    body {
      background: black;
    }
  </style>
</head>
<body>
  <script src="mouse.js" type="text/javascript"></script>
</body>
</html>

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Webpack5正式發(fā)布,有哪些新特性

    Webpack5正式發(fā)布,有哪些新特性

    這篇文章主要介紹了Webpack5正式發(fā)布,有哪些新特性,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10
  • 微信小程序緩存過期時間的相關(guān)設(shè)置(推薦)

    微信小程序緩存過期時間的相關(guān)設(shè)置(推薦)

    這篇文章主要介紹了微信小程序緩存過期時間的相關(guān)知識,主要包括微信小程序緩存機制介紹及哪些是一定需要過期的緩存,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-07-07
  • JS對象的深度克隆方法示例

    JS對象的深度克隆方法示例

    這篇文章主要介紹了JS對象的深度克隆方法,結(jié)合實例形式分析了JavaScript深度克隆的實現(xiàn)技巧,需要的朋友可以參考下
    2017-03-03
  • js中字符串編碼函數(shù)escape()、encodeURI()、encodeURIComponent()區(qū)別詳解

    js中字符串編碼函數(shù)escape()、encodeURI()、encodeURIComponent()區(qū)別詳解

    JavaScript中有三個可以對字符串編碼的函數(shù),分別是: escape,encodeURI,encodeURIComponent,相應(yīng)3個解碼函數(shù):unescape,decodeURI,decodeURIComponent 。接下來通過本文給大家介紹三者之家的區(qū)別,感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • js數(shù)組中如何隨機取出一個值

    js數(shù)組中如何隨機取出一個值

    這篇文章主要介紹了js數(shù)組中如何隨機取出一個值,需要的朋友可以參考下
    2014-06-06
  • 在Windows上安裝Node.js模塊的方法

    在Windows上安裝Node.js模塊的方法

    Node.js逐漸升溫,很多朋友已經(jīng)開始關(guān)注。但是在Windows平臺上需要基于Cygwin安裝配置環(huán)境,讓很多人望而卻步。
    2011-09-09
  • javascript性能優(yōu)化之DOM交互操作實例分析

    javascript性能優(yōu)化之DOM交互操作實例分析

    這篇文章主要介紹了javascript性能優(yōu)化之DOM交互操作技巧,結(jié)合實例形式總結(jié)分析了JavaScript針對DOM操作過程中的各種常見優(yōu)化操作技巧,需要的朋友可以參考下
    2015-12-12
  • Vue3中使用typescript封裝axios的實例詳解

    Vue3中使用typescript封裝axios的實例詳解

    這篇文章主要介紹了使用typescript封裝axios的實例代碼,為了方便,在vue3的配置里面按需加載element-plus,本文通過實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2021-10-10
  • javascript 內(nèi)存模型實例詳解

    javascript 內(nèi)存模型實例詳解

    這篇文章主要介紹了javascript 內(nèi)存模型,結(jié)合實例形式詳細(xì)分析了javascript 內(nèi)存模型相關(guān)概念、原理、操作技巧與注意事項,需要的朋友可以參考下
    2020-04-04
  • JavaScript封裝彈框插件的方法

    JavaScript封裝彈框插件的方法

    這篇文章主要為大家詳細(xì)介紹了JavaScript封裝彈框插件的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-08-08

最新評論