样式
<style>
img {
position: absolute;
}
</style>
js部分
<script>
let imgList = [];
let timer = null;
let flag = true;
document.addEventListener("click", function (e) {
e.preventDefault();
let img = document.createElement("img");
img.src = "1.png";
img.style.left = (e.clientX - 32) + "px";
img.style.top = (e.clientY - 32) + "px";
let str = "rotate(" + rag() + "deg)";
img.style.transform = str;
document.body.appendChild(img);
imgList.push({
img: img,
translateX: 0,
translateY: 0,
frame: 0,
opacity: 1
})
if (!timer) {
timer = setInterval(showTime, 60);
}
})
function rag() {
return parseInt(Math.random() * 90 - 60);
}
function showTime() {
for (let i = 0; i < imgList.length; i++) {
if (imgList[i].opacity < 0) {
imgList[i].img.remove();
imgList.splice(i, 1);
i--;
} else {
if (imgList[i].frame > 10) {
imgList[i].translateY -= 10;
imgList[i].opacity -= 0.03;
if (flag) {
imgList[i].translateX -= 3;
} else {
imgList[i].translateX += 3;
}
if (imgList[i].translateX == -30) {
flag = false;
}
if (imgList[i].translateX == 30) {
flag = true;
}
console.log(imgList[i].img.style.transform)
let str1 = imgList[i].img.style.transform.split(" ")[0]
imgList[i].img.style.transform =
`${str1} translate(${imgList[i].translateX}px,${imgList[i].translateY}px)`
imgList[i].img.style.opacity = imgList[i].opacity;
} else {
imgList[i].frame++
}
}
}
}
</script>