一、本课目标
- 能够灵活运用JS获取元素位置的属性来完成网页效果
二、HTML中元素属性
使用方式:
示例代码:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>随鼠标滚动的广告图片</title>
<style type="text/css">
#main{text-align:center; width:1014px; margin: 0 auto;}
#adver{
position:absolute;
left:10px;
top:30px;
z-index:2;
}
</style>
</head>
<body>
<div id="adver"><img src="images/adv.jpg"/></div>
<div id="main"><img src="images/main1.jpg"/><img src="images/main2.jpg"/><img src="images/main3.jpg"/></div>
<script>
var adverTop; //层距页面顶端距离
var adverLeft;
var adverObj; //层对象
function inix(){ //获得初始的边距信息
adverObj=document.getElementById("adver"); //获得层对象
if(adverObj.currentStyle){
//调用adverObj.currentStyle这个值判断是什么浏览器
adverTop=parseInt(adverObj.currentStyle.top);
adverLeft=parseInt(adverObj.currentStyle.left);
}
else{
adverTop=parseInt(document.defaultView.getComputedStyle(adverObj,null).top);
adverLeft=parseInt(document.defaultView.getComputedStyle(adverObj,null).left);
}
}
function move(){
//滚动值
var sTop=parseInt(document.documentElement.scrollTop||document.body.scrollTop);
var sLeft=parseInt(document.documentElement.scrollLeft||document.body.scrollLeft);
// 初始值加滚动值
adverObj.style.top=adverTop+sTop+"px";
adverObj.style.left=adverLeft+sLeft+"px";
}
// 下面这个函数的意思是说页面加载的时候就直接初始化
window.onload=inix;
// 下面这个函数的意思是说当页面滚动的时候就调用move函数
window.onscroll=move;
</script>
</body>
</html>