JavaScript实现跟随滚动缓冲运动广告框
网络编程 2021-07-04 18:32www.168986.cn编程入门
这篇文章主要为大家详细介绍了JavaScript实现跟随滚动缓冲运动广告框,页面左右两边跟随式广告框,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
当我们浏览一些网页时我们会发现页面的的边上会有广告图片,当滚动滚动条的时候这些广告图片会跟随性的随页面一起运动(这里我叫它为广告框)。一些网页的广告框是固定在浏览器上的用backgroundfixed;便可实现。这里我用JavaScript简单的制作了一个随滚动缓冲运动的广告框。
制作的原理比较简单,大家都有一个完美的js运动框架,这里的缓冲运动需要用到。这里的广告框设定的是跟随滚动条缓冲运动并运动到浏览器的中间位置。需要理解的是运动距离的计算和一些细节上的处理(一些BUG的预防)
这是我在这里使用的一个js运动框架,传递的参数只有一个并不是完美运动框架。传递的参数是广告框的运动距离,我在运动框架内又获取了一次对象。
var timer=null; function startMover(iTarget){ var oDiv=document.getElementById('div1'); clearInterval(timer); timer=setInterval(function(){ var ispeed=(iTarget-oDiv.offsetTop)/8; //速度设置为逐渐减小 ispeed=ispeed>0?Math.ceil(ispeed):Math.floor(ispeed); //避免速度产生小数点 if(oDiv.offsetTop==iTarget){ clearInterval(timer); } else{ oDiv.style.=oDiv.offsetTop+ispeed+"px"; } },30); };
样式和布局代码
<style> #div1{ width: 100px; height: 100px; background: #c; position: absolute; //使用绝对定位让其处于右上方 right: 0; : 0; </style> <body style="height: 2000px;"> <div id="div1"></div> </body>
js代码
这里增加了.onscroll属性目的是当滚动滚动条的时候也加载页面,广告框就能随着滚动条一起运动了。还增加了.onresize属性,由于我要实现广告框一直是运动到浏览器的中间位置,当我改变浏览器高度的时候也要实现广告框的运动,所以增加该属性,当浏览器大小改变时加载。
<script> window.onload=window.onscroll=window.onresize=function(){ var oDiv=document.getElementById('div1'); var scroll=document.documentElement.scrollTop||document.body.scrollTop; "scroll"是滚动条滚动的距离,这里有一个兼容chrome不支持document.documentElement.scrollTop获取语句,其他浏览器支持。 var t=(document.documentElement.clientHeight-oDiv.offsetHeight)/2; "t"为让广告框处于中间位置的高度距离,(获取浏览器的总高度-广告框自身高度)/2 startMover(parseInt(t+scroll)); "parseIn"返回一个整数,避免小数生成。这里广告框的总移动距离为(t+scroll) }; var timer=null; function startMover(iTarget){ var oDiv=document.getElementById('div1'); clearInterval(timer); timer=setInterval(function(){ var ispeed=(iTarget-oDiv.offsetTop)/8; ispeed=ispeed>0?Math.ceil(ispeed):Math.floor(ispeed); if(oDiv.offsetTop==iTarget){ clearInterval(timer); } else{ oDiv.style.=oDiv.offsetTop+ispeed+"px"; } },30); }; </script>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持狼蚁SEO。
上一篇:vue增删改查的简单操作
下一篇:Javascript实现基本运算器
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程