用js设计一个带有漂浮广告效果的个人介绍主页,点击广告可以跳转页面
时间: 2024-03-25 08:38:39 浏览: 159
好的,以下是一个简单的实现方式:
HTML部分:
```html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>个人介绍主页</title>
<style>
body {
margin: 0;
padding: 0;
overflow: hidden;
}
#adContainer {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 200px;
height: 200px;
background-color: #ccc;
}
#adContainer a {
display: block;
width: 100%;
height: 100%;
}
#adContainer img {
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<div id="adContainer">
<a href="http://www.example.com">
<img src="ad.jpg" alt="广告图片">
</a>
</div>
<script src="main.js"></script>
</body>
</html>
```
JS部分:
```js
// 获取广告容器和广告图片
const adContainer = document.getElementById('adContainer');
const adImg = adContainer.querySelector('img');
// 设置广告图片初始位置
let adTop = -adContainer.offsetHeight;
let adLeft = Math.random() * (window.innerWidth - adContainer.offsetWidth);
adImg.style.top = adTop + 'px';
adImg.style.left = adLeft + 'px';
// 定时器,每隔一定时间移动广告图片
setInterval(() => {
adTop += 1;
adImg.style.top = adTop + 'px';
if (adTop > window.innerHeight) {
// 广告图片超出屏幕,重置位置
adTop = -adContainer.offsetHeight;
adLeft = Math.random() * (window.innerWidth - adContainer.offsetWidth);
adImg.style.top = adTop + 'px';
adImg.style.left = adLeft + 'px';
}
}, 10);
```
解释一下代码:
1. 在 HTML 中,我们使用绝对定位将广告容器放在页面中心。容器里面包含一个带有链接的图片。
2. 在 JS 中,我们使用 `setInterval` 来定时移动广告图片。每次移动时,我们将广告图片的 `top` 值增加 1,也就是向下移动 1 像素。如果广告图片超出了屏幕,我们将其 `top` 和 `left` 值重置,让它重新回到屏幕上方,同时随机设置一个新的 `left` 值,让它在屏幕中随机出现。
这样,我们就实现了一个带有漂浮广告效果的个人介绍主页。点击广告可以跳转页面,因为我们在 HTML 中使用了一个链接包裹了广告图片。
阅读全文