七、JS获取元素位置

一、本课目标

  • 能够灵活运用JS获取元素位置的属性来完成网页效果

二、HTML中元素属性

image.png

使用方式:


image.png

示例代码:

<!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>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。