js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊飄愛(ài)心效果
本文實(shí)例為大家分享了js實(shí)現(xiàn)鼠標(biāo)點(diǎn)擊飄愛(ài)心的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>鼠標(biāo)點(diǎn)擊特效</title> <link rel="stylesheet" > <style> html { cursor: pointer; } h3 { text-align: center; user-select: none; } .div-box { width: 30px; height: 30px; font-size: 30px; position: absolute; } </style> </head> <body> <h3>請(qǐng)點(diǎn)擊屏幕查看效果</h3> <script> window.onclick = function (e) { //存儲(chǔ)需要的顏色 let arr = ["red", "yellow", "green", "pink", "blue", "purple", "orangered"]; //隨機(jī)產(chǎn)生一個(gè)顏色 let heartNum = Math.floor(Math.random() * arr.length); let div = document.createElement("div"); div.setAttribute("class", "iconfont iconzan div-box"); div.style.color = arr[heartNum]; document.body.appendChild(div); //獲得鼠標(biāo)的x,y軸的位置,并減去自身寬高的一半,使其能夠在愛(ài)心的正中心 let x = e.pageX - div.offsetWidth / 2; let y = e.pageY - div.offsetHeight / 2; div.style.left = x + "px"; div.style.top = y + "px"; //獲得0-1的整數(shù) let num = Math.round(Math.random()); let timer = setInterval(() => { y -= 10; if (num === 0) x -= 10; else x += 10; div.style.left = x + "px"; div.style.top = y + "px"; //如果超出屏幕范圍,則刪除此節(jié)點(diǎn) if (y < -100) { clearInterval(timer); div.remove(); } }, 100); } </script> </body> </html>
效果圖如下
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JavaScript實(shí)現(xiàn)復(fù)制粘貼剪切功能三種方法
這篇文章主要給大家介紹了關(guān)于JavaScript實(shí)現(xiàn)復(fù)制粘貼剪切功能的相關(guān)資料,在實(shí)際案例的操作過(guò)程中,不少人都會(huì)遇到這樣的開(kāi)發(fā)需求,文中通過(guò)代碼將三種方法介紹的非常詳細(xì),需要的朋友可以參考下2024-01-01瀏覽器環(huán)境下JavaScript腳本加載與執(zhí)行探析之defer與async特性
defer和async特性相信是很多JavaScript開(kāi)發(fā)者"熟悉而又不熟悉"的兩個(gè)特性,從字面上來(lái)看,二者的功能很好理解,分別是"延遲腳本"和"異步腳本"的作用2016-01-01javascript實(shí)現(xiàn)時(shí)間格式輸出FormatDate函數(shù)
這篇文章主要介紹了javascript實(shí)現(xiàn)時(shí)間格式輸出FormatDate函數(shù),可實(shí)現(xiàn)fmt標(biāo)簽一樣對(duì)日期時(shí)間型內(nèi)容格式輸入的功能,是非常實(shí)用的技巧,需要的朋友可以參考下2015-01-01Javascript中字符串相關(guān)常用的使用方法總結(jié)
本篇文章主要介紹了Javascript中字符串相關(guān)常用的使用方法。具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03微信小程序判斷用戶(hù)是否需要再次授權(quán)獲取個(gè)人信息
這篇文章主要介紹了微信小程序判斷用戶(hù)是否需要再次授權(quán)獲取個(gè)人信息,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-07-07高效的獲取當(dāng)前元素是父元素的第幾個(gè)子元素
例如處理事件的時(shí)候,有時(shí)候需要知道當(dāng)前點(diǎn)擊的是第幾個(gè)子節(jié)點(diǎn),而HTML DOM本身并沒(méi)有直接提供相應(yīng)的屬性,需要自己來(lái)計(jì)算。感興趣的朋友可以了解下本文2013-10-10