全网整合营销服务商

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

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

原生javascript实现的全屏滚动功能示例

本文实例讲述了原生javascript实现的全屏滚动功能。分享给大家供大家参考,具体如下:

原理:

1. 计算当前浏览器屏幕高度,每次翻页显示的内容高度即为屏幕高度

2. 对鼠标滚轮事件进行监听,注意滚轮事件的浏览器兼容问题。

废话不多说,直接上代码

html代码:

<div id="wrap">
  <div id="main" style="top: 0;">
    <div class="content num1">
      <img src="https://www.bing.com/az/hprichbg/rb/SingingRingingTree_ZH-CN12497946624_1920x1080.jpg" width="100%" height="100%">
    </div>
    <div class="content num2">
      <img src="https://www.bing.com/az/hprichbg/rb/ShenandoahNP_ZH-CN9981989975_1920x1080.jpg" width="100%" height="100%">
    </div>
    <div class="content num3">
      <img src="https://www.bing.com/az/hprichbg/rb/GareSaintLazare_ZH-CN6611772290_1920x1080.jpg" width="100%" height="100%">
    </div>
    <div class="content num4">
      <img src="https://www.bing.com/az/hprichbg/rb/FriendshipSquare_ZH-CN8820626148_1920x1080.jpg" width="100%" height="100%">
    </div>
  </div>
</div>

css代码:

#wrap{overflow: hidden;width: 100%;}
#main{top: 0;position: relative;}
.content{width: 100%;margin: 0;height: 100%;}
.num1{background: #e8e8e8;}
.num2{background: pink;}
.num3{background: yellow;}
.num4{background: orange;}

js代码:

<script type="text/javascript">
  var wrap = document.getElementById("wrap");
  var divHeight = window.innerHeight;
  wrap.style.height = divHeight + "px";
  var content = $(".content");//懒得写获取类的原生js代码了,直接用了jquery,=。=
  content.height(divHeight);
  var startTime = 0, //开始翻屏时间
    endTime = 0,
    now = 0;
  if ((navigator.userAgent.toLowerCase().indexOf("firefox")!=-1)){
    //for firefox;
    document.addEventListener("DOMMouseScroll",scrollFun,false);
  }
  else if (document.addEventListener) {
    document.addEventListener("mousewheel",scrollFun,false);
  }
  else if (document.attachEvent) {
    document.attachEvent("onmousewheel",scrollFun);
  }
  else{
    document.onmousewheel = scrollFun;
  }
  //滚动事件处理函数
  function scrollFun(event){
      startTime = new Date().getTime();
      var delta = event.detail || (-event.wheelDelta);
      if ((endTime - startTime) < -1000) {
        //1秒内执行一次翻页
        if (delta > 0 && parseInt(main.style.top) > -divHeight * ( content.length - 1)) { //向下翻页
          now += divHeight ;
          turnPage(now);
        }
        if (delta < 0 && parseInt(main.style.top) < 0) { //向上翻页
          now -= divHeight ;
          turnPage(now);
        }
        endTime = new Date().getTime();
      }
      else{
        event.preventDefault();
      }
  }
  //翻页函数
  function turnPage(now){
    $("#main").animate({top:(-now+'px')},1000);
    //懒得写动画代码了,直接用了jquery,=。=
  }
</script>

更多关于JavaScript相关内容感兴趣的读者可查看本站专题:《JavaScript切换特效与技巧总结》、《JavaScript查找算法技巧总结》、《JavaScript错误与调试技巧总结》、《JavaScript数据结构与算法技巧总结》、《JavaScript遍历算法与技巧总结》及《JavaScript数学运算用法总结》

希望本文所述对大家JavaScript程序设计有所帮助。


# javascript  # 全屏滚动  # JavaScript全屏和退出全屏事件总结(附代码)  # fullPage.js和CSS3实现全屏滚动效果  # 原生js实现类似fullpage的单页/全屏滚动  # Javascript 实现全屏滚动实例代码  # JS实现全屏的四种写法  # jQuery插件fullPage.js实现全屏滚动效果  # JS 全屏和退出全屏详解及实例代码  # 全屏滚动插件fullPage.js使用实例解析  # 浅谈javascript控制HTML5的全屏操控  # 浏览器兼容的问题  # js实现各浏览器全屏代码实例  # 翻页  # 用了  # 相关内容  # 鼠标  # 遍历  # 感兴趣  # 数据结构  # 给大家  # 多说  # 更多关于  # 全屏  # 即为  # 所述  # 程序设计  # 讲述了  # www  # https  # src  # hprichbg  # az 


相关文章: 5种Android数据存储方式汇总  如何用AWS免费套餐快速搭建高效网站?  建站之星官网登录失败?如何快速解决?  制作门户网站的参考文献在哪,小说网站怎么建立?  孙琪峥织梦建站教程如何优化数据库安全?  北京制作网站的公司排名,北京三快科技有限公司是做什么?北京三快科技?  营销式网站制作方案,销售哪个网站招聘效果最好?  设计网站制作公司有哪些,制作网页教程?  网站制作新手教程,新手建设一个网站需要注意些什么?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何通过免费商城建站系统源码自定义网站主题与功能?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  如何通过VPS搭建网站快速盈利?  盐城做公司网站,江苏电子版退休证办理流程?  如何在香港服务器上快速搭建免备案网站?  高端云建站费用究竟需要多少预算?  黑客入侵网站服务器的常见手法有哪些?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  c# 服务器GC和工作站GC的区别和设置  子杰智能建站系统|零代码开发与AI生成SEO优化指南  如何零基础在云服务器搭建WordPress站点?  如何在景安服务器上快速搭建个人网站?  如何在腾讯云服务器上快速搭建个人网站?  建站主机服务器选型指南与性能优化方案解析  如何用IIS7快速搭建并优化网站站点?  香港服务器WordPress建站指南:SEO优化与高效部署策略  保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  如何用免费手机建站系统零基础打造专业网站?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  如何高效完成自助建站业务培训?  如何在阿里云虚拟服务器快速搭建网站?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?  企业网站制作费用多少,企业网站空间一般需要多大,费用是多少?  如何选择可靠的免备案建站服务器?  网站制作价目表怎么做,珍爱网婚介费用多少?  家庭建站与云服务器建站,如何选择更优?  如何通过西部数码建站助手快速创建专业网站?  如何在阿里云ECS服务器部署织梦CMS网站?  建站主机系统SEO优化与智能配置核心关键词操作指南  如何通过虚拟主机快速完成网站搭建?  C#如何序列化对象为XML XmlSerializer用法  rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted  已有域名建站全流程解析:网站搭建步骤与建站工具选择  如何通过wdcp面板快速创建网站? 

您的项目需求

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