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-01
javascript實(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-01
Javascript中字符串相關(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

