要实现JS实现悬浮移动窗口(悬浮广告)的特效,需要以下步骤:
1. HTML结构准备
首先,需要在HTML文件中添加一个div作为悬浮窗口的容器,以及一个button作为关闭悬浮窗口的按钮。例如:
<div id="float-window">
<button id="close-button">关闭</button>
</div>
2. 通过CSS样式设置悬浮窗口的样式
为悬浮窗口设置样式以使其达到悬浮的效果,例如:
#float-window {
position: fixed;
width: 200px;
height: 150px;
background-color: #fff;
left: 50%;
top: 30%;
margin-left: -100px;
margin-top: -75px;
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
z-index: 9999;
display: none;
}
其中,position: fixed
属性将悬浮窗口的位置固定在页面中,z-index
属性确保悬浮窗口在页面上处于最上层。
3. 编写JS代码实现悬浮窗口的出现和关闭
(1)实现悬浮窗口的出现
可以通过设置悬浮窗口的display
属性来控制其是否显示。当鼠标经过页面中的某个元素时,将悬浮窗口的display
属性设置为block
,鼠标移出时则将其设置为none
。例如:
const floatWindow = document.querySelector('#float-window');
const hoverElement = document.querySelector('#hover-element');
hoverElement.addEventListener('mouseenter', () => {
floatWindow.style.display = 'block';
});
hoverElement.addEventListener('mouseleave', () => {
floatWindow.style.display = 'none';
});
在这个示例中,hover-element
表示鼠标悬停的元素,mouseenter
和mouseleave
事件分别表示鼠标进入和离开该元素时的动作。
(2)实现关闭悬浮窗口的按钮
在HTML中已经添加了一个按钮元素,需要为其添加事件监听器,在按钮被点击时关闭悬浮窗口。例如:
const closeButton = document.querySelector('#close-button');
closeButton.addEventListener('click', () => {
floatWindow.style.display = 'none';
});
在这个示例中,当按钮被点击时,触发了一个回调函数,将悬浮窗口的display
属性设置为none
,从而关闭悬浮窗口。
示例说明
示例1
悬浮窗口的出现和关闭方法:
const floatWindow = document.querySelector('#float-window');
const hoverElement = document.querySelector('#hover-element');
const closeButton = document.querySelector('#close-button');
hoverElement.addEventListener('mouseenter', () => {
floatWindow.style.display = 'block';
});
hoverElement.addEventListener('mouseleave', () => {
floatWindow.style.display = 'none';
});
closeButton.addEventListener('click', () => {
floatWindow.style.display = 'none';
});
示例2
鼠标悬浮在一个图片上显示悬浮窗口,当点击关闭按钮时,悬浮窗口消失。
HTML结构:
<div id="hover-element">
<img src="/path/to/image.jpg" alt="图片">
</div>
<div id="float-window">
<button id="close-button">关闭</button>
</div>
CSS样式:
#float-window {
position: fixed;
width: 200px;
height: 150px;
background-color: #fff;
left: 50%;
top: 30%;
margin-left: -100px;
margin-top: -75px;
box-shadow: 0 0 5px rgba(0, 0, 0, .3);
z-index: 9999;
display: none;
}
JS代码:
const floatWindow = document.querySelector('#float-window');
const hoverElement = document.querySelector('#hover-element');
const closeButton = document.querySelector('#close-button');
hoverElement.addEventListener('mouseenter', () => {
floatWindow.style.display = 'block';
});
hoverElement.addEventListener('mouseleave', () => {
floatWindow.style.display = 'none';
});
closeButton.addEventListener('click', () => {
floatWindow.style.display = 'none';
});
通过这两个示例,可以清楚地理解如何实现悬浮移动窗口(悬浮广告)的特效。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS实现悬浮移动窗口(悬浮广告)的特效 - Python技术站