站长资讯网
最全最丰富的资讯网站

利用js实现图片固定在屏幕的某个位置!

利用js获取滚动条滚动距离,实现图片固定在屏幕的某个位置

思路:
1.获取对象距离顶部和左侧的距离;
2.获取元素对象;
3.当滚动条滚动时获取滚动条滚动的距离;
4.滚动条滚动时执行函数:对象距离顶部 / 左侧的距离变为原本距离顶部 / 左侧的距离+滚动条滚动像素数。

html代码:

<!DOCTYPE html> <html> <head>     <meta charset="UTF-8">     <title></title> </head> <body>     <div id="left">         <img src="images/z1.jpg" alt=""/>     </div>     <div id="right">         <img src="images/z2.jpg" alt=""/>     </div> </body> </html>

css代码:

*{             margin: 0;             padding: 0;         }         body{             width: 2000px;             height: 2000px;         }         .left{             position: absolute;             width: 110px;             height: 110px;             top: 100px;             left: 50px;         }         .right{             position: absolute;             width: 110px;             height: 110px;             top: 100px;             left: 1360px;         }

js代码:

 var leftT;//左侧p距离顶部距离         var leftL;//左侧p距离左侧距离         var rightT;//右侧p距离顶部距离         var rightL;//右侧p距离左侧距离          var objLeft;//左侧p文档对象         var objRight;//右侧p文档对象          function place(){             objLeft=document.getElementById("left");             objRight=document.getElementById("right");             leftT=document.defaultView.getComputedStyle(objLeft,null).top;             leftL=document.defaultView.getComputedStyle(objLeft,null).left;             rightT=document.defaultView.getComputedStyle(objRight,null).top;             rightL=document.defaultView.getComputedStyle(objRight,null).left;          }         //获取滚动条滚动的像素数         function move(){             var scrollT=document.documentElement.scrollTop;             var scrollL=document.documentElement.scrollLeft;             //设置左侧p距离顶部的像素             objLeft.style.top=parseInt(leftT)+scrollT+"px";             objLeft.style.left=parseInt(leftL)+scrollL+"px";             objRight.style.top=parseInt(rightT)+scrollT+"px";             objRight.style.left=parseInt(rightL)+scrollL+"px";         }         window.onload=place;         window.onscroll=move;

赞(0)
分享到: 更多 (0)