html中如何制作一个小div(卡通图标),在刷新页面时可以随机出现在任何位置并且点击他后会有一系列的动画效果让他不断的移动到不同的位置,他会逐渐的变得透明,直到最后这个div将会消失
时间: 2024-03-24 11:40:37 浏览: 91
html 随机飘动的 div
可以使用 JavaScript 和 CSS 来实现这个效果。首先,可以使用 JavaScript 来生成一个随机位置的小 div,并在页面加载时把它添加到页面中。然后,使用 CSS 来为这个小 div 添加卡通图标的样式。
HTML 代码:
```html
<div id="cartoon-icon"></div>
```
CSS 代码:
```css
#cartoon-icon {
width: 50px;
height: 50px;
background-image: url('cartoon-icon.png');
position: absolute;
cursor: pointer;
}
```
接下来,使用 JavaScript 来为这个小 div 添加点击事件,并在点击时触发一系列动画效果。可以使用 CSS 的 `animation` 属性来实现动画效果,然后在动画结束后将这个小 div 删除。
JavaScript 代码:
```javascript
// 获取小 div 元素
const cartoonIcon = document.querySelector('#cartoon-icon');
// 点击小 div 时触发动画效果
cartoonIcon.addEventListener('click', () => {
// 动画效果:小 div 向随机位置移动,逐渐变得透明,最后消失
cartoonIcon.style.animation = 'move 1s linear forwards';
// 动画结束后删除小 div 元素
cartoonIcon.addEventListener('animationend', () => {
cartoonIcon.remove();
});
});
// 页面加载时随机生成小 div 并添加到页面中
window.addEventListener('load', () => {
// 随机生成小 div 的位置
const x = Math.floor(Math.random() * window.innerWidth);
const y = Math.floor(Math.random() * window.innerHeight);
// 设置小 div 的位置
cartoonIcon.style.left = `${x}px`;
cartoonIcon.style.top = `${y}px`;
});
```
CSS 代码:
```css
/* 定义移动动画 */
@keyframes move {
from {
opacity: 1;
transform: translate(0, 0);
}
to {
opacity: 0;
transform: translate(
calc(Math.random() * 100vw - 50vw),
calc(Math.random() * 100vh - 50vh)
);
}
}
```
这样,当用户点击小 div 时,它就会触发动画效果,逐渐变得透明并消失。同时,小 div 在移动的过程中也会随机改变位置,使得每次点击时的效果都不同。
阅读全文