全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

JavaScript实现跟随滚动缓冲运动广告框

当我们浏览一些网页时我们会发现页面的的边上会有广告图片,当滚动滚动条的时候这些广告图片会跟随性的随页面一起运动(这里我叫它为广告框)。一些网页的广告框是固定在浏览器上的用background:fixed;便可实现。这里我用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.top=oDiv.offsetTop+ispeed+"px";
          }

    },30);
    };

样式和布局代码

  <style>
    #div1{
      width: 100px;
      height: 100px;
      background: #ccc;
      position: absolute;
      //使用绝对定位让其处于右上方
      right: 0;
      top: 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 scrolltop=document.documentElement.scrollTop||document.body.scrollTop;
"scrolltop"是滚动条滚动的距离,这里有一个兼容chrome不支持document.documentElement.scrollTop获取语句,其他浏览器支持。          
      var t=(document.documentElement.clientHeight-oDiv.offsetHeight)/2;
"t"为让广告框处于中间位置的高度距离,(获取浏览器的总高度-广告框自身高度)/2      
      startMover(parseInt(t+scrolltop));
"parseIn"返回一个整数,避免小数生成。这里广告框的总移动距离为(t+scrolltop)    
    };

    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.top=oDiv.offsetTop+ispeed+"px";
          }

    },30);
    };

  </script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。


# js跟随广告框  # s跟随滚动缓冲运动  # js跟随滚动广告框  # 基于JavaScript实现鼠标悬浮弹出跟随鼠标移动的带箭头的信息层  # JS实现提示框跟随鼠标移动  # JS实现跟随鼠标的链接文字提示框效果  # js写出遮罩层登陆框和对联广告并自动跟随滚动条滚动  # javascript实现悬浮跟随框缓动效果  # 滚动条  # 的是  # 有一个  # 增加了  # 这是  # 加载  # 我要  # 会有  # 我在  # 大家都  # 就能  # 也要  # 当我  # 我用  # 便可  # 我叫  # 只有一个  # 不支持  # 当我们  # 动了 


相关文章: 广州商城建站系统开发成本与周期如何控制?  智能起名网站制作软件有哪些,制作logo的软件?  网站设计制作公司地址,网站建设比较好的公司都有哪些?  如何在阿里云虚拟服务器快速搭建网站?  建站之星安装路径如何正确选择及配置?  h5网站制作工具有哪些,h5页面制作工具有哪些?  Thinkphp 中 distinct 的用法解析  已有域名和空间如何快速搭建网站?  建站之星安装需要哪些步骤及注意事项?  如何快速搭建高效服务器建站系统?  如何自定义建站之星网站的导航菜单样式?  如何通过NAT技术实现内网高效建站?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  公司门户网站制作流程,华为官网怎么做?  如何在宝塔面板中修改默认建站目录?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  建站之星在线版空间:自助建站+智能模板一键生成方案  定制建站流程步骤详解:一站式方案设计与开发指南  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  如何快速生成ASP一键建站模板并优化安全性?  重庆市网站制作公司,重庆招聘网站哪个好?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  中山网站推广排名,中山信息港登录入口?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  如何在七牛云存储上搭建网站并设置自定义域名?  如何用已有域名快速搭建网站?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  如何在云虚拟主机上快速搭建个人网站?  如何自定义建站之星模板颜色并下载新样式?  网站制作培训多少钱一个月,网站优化seo培训课程有哪些?  如何彻底卸载建站之星软件?  制作电商网页,电商供应链怎么做?  如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?  已有域名如何快速搭建专属网站?  建站OpenVZ教程与优化策略:配置指南与性能提升  图册素材网站设计制作软件,图册的导出方式有几种?  孙琪峥织梦建站教程如何优化数据库安全?  建站之星如何一键生成手机站?  如何选择建站程序?包含哪些必备功能与类型?  动图在线制作网站有哪些,滑动动图图集怎么做?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  ,想在网上投简历,哪几个网站比较好?  免费的流程图制作网站有哪些,2025年教师初级职称申报网上流程?  如何解决ASP生成WAP建站中文乱码问题?  宝塔面板创建网站无法访问?如何快速排查修复?  免费网站制作模板下载,除了易企秀之外还有什么H5平台可以制作H5长页面,最好是免费的? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。