JavaScript实现页面滚动时浮动广告跟随效果

作者:小圆点时间:2026-10-26 22:57:13浏览:89

本文介绍如何使用JavaScript实现页面滚动时浮动广告跟随效果。通过设置CSS绝对定位,并结合window.onscroll事件监听滚动条位置,动态更新广告元素的top值。代码示例展示了关键样式配置与JS逻辑,特别强调使用document.documentElement.scrollTop兼容W3C标准,确保在不同浏览器下实现稳定的浮动展示与关闭功能。

JavaScript实现页面滚动时浮动广告跟随效果

具备基础的JavaScript知识后,实现浮动广告功能并不复杂。以下是完整的实现代码:


具体代码如下:

 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
*{ 
margin:0;
padding:0;
} 
#csdn
{ 
width:800px;
margin:0 auto;
} 
#ad
{ 
position:absolute;
right:0px;
top:30px;
z-index:1;
} 
#cl
{ 
position:absolute;
right:0px;
top:30px;
z-index:2;
} 
</style>
<script type="text/javascript">
var advInitTop=30;
var closeInitTop=30;
function inix()
{ 
advInitTop=document.getElementById("ad").style.pixelTop;
closeInitTop=document.getElementById("cl").style.pixelTop;
} 
function closeAd()
{ 
document.getElementById("ad").style.display="none";
document.getElementById("cl").style.display="none";
} 
function move()
{ 
//document.getElementById("ad").style.pixelTop=document.body.scrollTop+advInitTop;
//document.getElementById("cl").style.pixelTop=document.body.scrollTop+closeInitTop;
document.getElementById("ad").style.pixelTop=document.documentElement.scrollTop+advInitTop;
document.getElementById("cl").style.pixelTop=document.documentElement.scrollTop+closeInitTop;
//alert(document.getElementById("ad").style.pixelTop);
window.status=document.documentElement.scrollTop+"/"+document.getElementById("ad").style.pixelTop;
} 
window.onscroll=move;
</script>
</head>
<body>
<div id="cl" onclick="closeAd()">
<img src="images/close.jpg" />
</div>
<div id="csdn">
<a href="http://www.csdn.net"><img src="images/xiaojie1.jpg" border="0" /></a>
</div>
<div id="ad">
<a href="http://www.taobao.com"><img src="images/advpic.gif" /></a>
</div>
</body>
</html>

要点:

代码中必须使用document.documentElement来获取滚动高度,避免使用旧的document.body,以符合W3C标准并确保浮动效果正常显示。

作者最新文章