js實現(xiàn)鼠標點擊飄愛心效果
更新時間:2020年08月19日 10:31:35 作者:zhujun_blog
這篇文章主要為大家詳細介紹了js實現(xiàn)鼠標點擊飄愛心效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
本文實例為大家分享了js實現(xiàn)鼠標點擊飄愛心的具體代碼,供大家參考,具體內(nèi)容如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>鼠標點擊特效</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>請點擊屏幕查看效果</h3>
<script>
window.onclick = function (e) {
//存儲需要的顏色
let arr = ["red", "yellow", "green", "pink", "blue", "purple", "orangered"];
//隨機產(chǎn)生一個顏色
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);
//獲得鼠標的x,y軸的位置,并減去自身寬高的一半,使其能夠在愛心的正中心
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é)點
if (y < -100) {
clearInterval(timer);
div.remove();
}
}, 100);
}
</script>
</body>
</html>
效果圖如下

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
您可能感興趣的文章:
相關(guān)文章
layUI使用layer.open,在content打開數(shù)據(jù)表格,獲取值并返回的方法
今天小編就為大家分享一篇layUI使用layer.open,在content打開數(shù)據(jù)表格,獲取值并返回的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-09-09
javascript對象的property和prototype是這樣一種關(guān)系
javascript對象的property和prototype是這樣一種關(guān)系...2007-03-03
詳解JavaScript到TypeScript的轉(zhuǎn)換過程
JavaScript是一門強大而靈活的編程語言,TypeScript作為JavaScript的超集,為開發(fā)人員提供了靜態(tài)類型檢查、更好的協(xié)作能力和面向?qū)ο缶幊痰闹С郑疚膶⒃敿氈v解如何將JavaScript代碼轉(zhuǎn)換為TypeScript,并寫一些代碼示例參考2023-06-06
javascript 具名函數(shù)的四種調(diào)用方式 推薦
看四種方式執(zhí)行結(jié)果沒有區(qū)別。但如果函數(shù)有返回值的話,用new方式調(diào)用時可能會讓你有些失望。2009-07-07

