最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS實(shí)現(xiàn)超級(jí)好看的鼠標(biāo)小尾巴特效

 更新時(shí)間:2020年12月01日 14:52:03   作者:我不是禿頭哆唻咪  
這篇文章主要給大家介紹了關(guān)于JS實(shí)現(xiàn)超級(jí)好看的鼠標(biāo)小尾巴特效的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

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

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

<!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>
 //==========鼠標(biāo)星球尾巴JS代碼============

 //========函數(shù):獲取當(dāng)前鼠標(biāo)的坐標(biāo)=========
 function getMousePosition(event) {
  var x = 0;//x坐標(biāo)
  var y = 0;//y坐標(biāo)
  //documentElement 返回一個(gè)文檔的文檔元素。
  doc = document.documentElement;
  //body 返回文檔的body元素
  body = document.body;
  //解決兼容性
  if (!event) event = window.event;
  //解決鼠標(biāo)滾輪滾動(dòng)后與相對(duì)坐標(biāo)的差值
  //pageYoffset是Netscape特有
  if (window.pageYoffset) {
  x = window.pageXOffset;
  y = window.pageYOffset;
  } else {//其他瀏覽器鼠標(biāo)滾動(dòng)
  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加上當(dāng)事件被觸發(fā)時(shí)鼠標(biāo)指針向?qū)τ跒g覽器頁面(或客戶區(qū))的水平坐標(biāo)
  x += event.clientX;
  //得到的x加上當(dāng)事件被觸發(fā)時(shí)鼠標(biāo)指針向?qū)τ跒g覽器頁面(或客戶區(qū))的垂直坐標(biāo)
  y += event.clientY;
  //返回x和y
  return {'x': x, 'y': y};
 }
 //========函數(shù):獲取當(dāng)前鼠標(biāo)的坐標(biāo)=========

 //=====生成從minNum到maxNum的隨機(jī)數(shù)=====
 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的隨機(jī)數(shù)======

 //======給整個(gè)文檔綁定一個(gè)鼠標(biāo)移動(dòng)事件======
 document.onmousemove = function(event){

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

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

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


好東西記得要收藏哦!!!

到此這篇關(guān)于JS實(shí)現(xiàn)超級(jí)好看的鼠標(biāo)小尾巴特效的文章就介紹到這了,更多相關(guān)JS實(shí)現(xiàn)鼠標(biāo)小尾巴內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 基于SVG的web頁面圖形繪制API介紹及編程演示

    基于SVG的web頁面圖形繪制API介紹及編程演示

    SVG的全稱是可擴(kuò)展的矢量圖形跟傳統(tǒng)的Raster方式的圖形(JPG, PNG, GIF等)有很大的差別,下面與大家分享下JavaScript中SVG API編程演示,感興趣的朋友可以參考下哈
    2013-06-06
  • JS中artdialog彈出框控件之提交表單思路詳解

    JS中artdialog彈出框控件之提交表單思路詳解

    artDialog是一個(gè)基于javascript編寫的對(duì)話框組件,它擁有精致的界面與友好的接口。本文給大家介紹JS中artdialog彈出框控件之提交表單思路詳解,對(duì)本文感興趣的朋友一起學(xué)習(xí)吧
    2016-04-04
  • 微信小程序?qū)W習(xí)總結(jié)(四)事件與冒泡實(shí)例分析

    微信小程序?qū)W習(xí)總結(jié)(四)事件與冒泡實(shí)例分析

    這篇文章主要介紹了微信小程序?qū)W習(xí)總結(jié)(四)事件與冒泡,結(jié)合實(shí)例形式分析了微信小程序事件、冒泡、數(shù)據(jù)獲取相關(guān)機(jī)制、原理與操作注意事項(xiàng),需要的朋友可以參考下
    2020-06-06
  • JSON生成Form表單的方法示例

    JSON生成Form表單的方法示例

    JSON表單是一個(gè)基于React的抽象組件,它可以把JSON數(shù)據(jù)格式描述的表單轉(zhuǎn)換成項(xiàng)目中的表單,這篇文章主要介紹了JSON生成Form表單的方法示例,感興趣的小伙伴們可以參考一下
    2018-11-11
  • js通過canvas生成圖片縮略圖

    js通過canvas生成圖片縮略圖

    對(duì)于生成縮略圖一般做法是通過后端語言php等來生成,但是為了給服務(wù)器減壓,我們或許可以從前端來著手,先生成好不同尺寸的縮略圖,傳給后端,而后端只需要將前端傳過來的圖片進(jìn)行存儲(chǔ)就好了
    2020-10-10
  • JS獲取中文拼音首字母并通過拼音首字母快速查找頁面內(nèi)對(duì)應(yīng)中文內(nèi)容的方法【附demo源碼】

    JS獲取中文拼音首字母并通過拼音首字母快速查找頁面內(nèi)對(duì)應(yīng)中文內(nèi)容的方法【附demo源碼】

    這篇文章主要介紹了JS獲取中文拼音首字母并通過拼音首字母快速查找頁面內(nèi)對(duì)應(yīng)中文內(nèi)容的方法,涉及javascript針對(duì)字符串的遍歷、查找、正則匹配及轉(zhuǎn)換等操作技巧,并附帶完整demo源碼供讀者下載參考,需要的朋友可以參考下
    2016-08-08
  • JavaScript中Map和Set數(shù)據(jù)結(jié)構(gòu)使用方法詳解

    JavaScript中Map和Set數(shù)據(jù)結(jié)構(gòu)使用方法詳解

    這篇文章主要介紹了JavaScript中Map和Set數(shù)據(jù)結(jié)構(gòu)使用方法的相關(guān)資料,Map是一種鍵值對(duì)集合,支持任意類型的鍵和值,保留插入順序,并提供多種遍歷和操作方法,Set是一種唯一值集合,通過哈希算法保證唯一性,提供添加、刪除、檢查元素的方法,需要的朋友可以參考下
    2025-03-03
  • JavaScript利用canvas實(shí)現(xiàn)星空效果

    JavaScript利用canvas實(shí)現(xiàn)星空效果

    Canvas對(duì)于我們前端來說是一個(gè)非常強(qiáng)大的工具,它可以實(shí)現(xiàn)各種復(fù)雜的圖形和動(dòng)畫效果,我們?nèi)绻軌蚴炀氄莆账?我們就可以做很多炫酷的效果,本文就給大家介紹了用canvas畫出一片星空的方法,需要的朋友可以參考下
    2023-11-11
  • JavaScript第七種數(shù)據(jù)類型Symbol的用法詳解

    JavaScript第七種數(shù)據(jù)類型Symbol的用法詳解

    Symbol是ES6中引入的一種新的基本數(shù)據(jù)類型,用于表示一個(gè)獨(dú)一無二的值。它是JavaScript中的第七種數(shù)據(jù)類型。本文將詳細(xì)講講Symbol的使用,需要的可以參考一下
    2022-09-09
  • 淺談js數(shù)組splice刪除某個(gè)元素爬坑

    淺談js數(shù)組splice刪除某個(gè)元素爬坑

    這篇文章主要介紹了淺談js數(shù)組splice刪除某個(gè)元素爬坑,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-10-10

最新評(píng)論

丽水市| 安徽省| 阳东县| 大城县| 涞水县| 密山市| 金阳县| 临猗县| 商水县| 珠海市| 邓州市| 青龙| 尼勒克县| 鄂托克前旗| 平凉市| 镇巴县| 曲靖市| 铜梁县| 德庆县| 罗定市| 谷城县| 濮阳县| 灌云县| 鄂伦春自治旗| 东兰县| 南阳市| 宁安市| 定州市| 梅州市| 南和县| 库车县| 凤山市| 鹤壁市| 包头市| 凭祥市| 礼泉县| 濮阳市| 留坝县| 南宫市| 新安县| 昭苏县|