javascript实现全屏滚动功能

本文主要和大家介绍原生javascript实现的全屏滚动功能,涉及javascript事件响应及页面元素属性动态操作相关实现技巧,需要的朋友可以参考下,希望能帮助到大家,

原理:

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

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

废话不多说,直接上代码

立即学习“Java免费学习笔记(深入)”;

html代码:

  

    

      javascript实现全屏滚动功能    

    

      javascript实现全屏滚动功能    

    

      javascript实现全屏滚动功能    

    

      javascript实现全屏滚动功能    

  

登录后复制

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代码:

  var wrap = document.getElementById("wrap");  var pHeight = window.innerHeight;  wrap.style.height = pHeight + "px";  var content = $(".content");//懒得写获取类的原生js代码了,直接用了jquery,=。=  content.height(pHeight);  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)  0 && parseInt(main.style.top) > -pHeight * ( content.length - 1)) { //向下翻页          now += pHeight ;          turnPage(now);        }        if (delta < 0 && parseInt(main.style.top) < 0) { //向上翻页          now -= pHeight ;          turnPage(now);        }        endTime = new Date().getTime();      }      else{        event.preventDefault();      }  }  //翻页函数  function turnPage(now){    $("#main").animate({top:(-now+'px')},1000);    //懒得写动画代码了,直接用了jquery,=。=  }

登录后复制

相关推荐:

jQuery插件fullPage.js实现全屏滚动效果

基于jquery实现全屏滚动效果_javascript技巧

jquery实现全屏滚动_jquery

以上就是javascript实现全屏滚动功能的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2787307.html

(0)
上一篇 2025年3月8日 18:06:13
下一篇 2025年2月25日 00:49:57

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • JavaScript原生态兼容IE6可调控滚动文字功能

    一、基本目标 如下图,一开始文字能在15px-400px这个区域以每0.05s,5px像素的无缝滚动,当然,改改下面的脚本,你让我从地球滚动到外太空都没问题,只要你告诉我地球的px和外太空的px就行了,然后设置两个按钮,你点击“停止”它就停…

    2025年3月8日
    200
  • angularjs猜数字大小功能实现方法

    本文主要和大家详细介绍angularjs实现猜数字大小功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。  猜一猜,多大值?(1-1000) 我猜是: 验证再玩一次 0″>您猜的数大了 您猜的数小了 您猜对了 …

    编程技术 2025年3月8日
    200
  • js的变量提升和函数提升详解

    本文为大家带来一篇基于js的变量提升和函数提升(详解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。 一、变量提升 在ES6之前,JavaScript没有块级作用域(一对花括号{}即为一个…

    编程技术 2025年3月8日
    200
  • Angularjs实现分页插件的代码分享

    由于最近的一个项目使用的是angularjs1.0的版本,涉及到分页查询数据的功能,后来自己就用自定义指令实现了该功能。现在单独做了个简易的小demo,主要是为了分享自己写的分页功能。注:本实例调用的是真实接口数据。 首先、小demo的目录…

    2025年3月8日 编程技术
    200
  • JS实现将html转为pdf功能代码分享

    本文主要和大家介绍js实现的将html转为pdf功能,结合完整实例形式分析了基于浏览器端插件jspdf实现的html格式数据转换成pdf具体操作技巧,需要的朋友可以参考下,希望能帮助到大家。 本文实例讲述了JS实现的将html转为pdf功能…

    2025年3月8日
    200
  • JS实现粘贴板复制功能代码分享

    使用剪贴板是一项基本技能。作为码农都应知道, tab , ctrl/cmd + a , ctrl / cmd + c 以及 ctrl / cmd + v 分别是自动聚焦、复制、粘贴的快捷键。 而对普通用户可能就不太容易了。即使用户知道剪贴板…

    编程技术 2025年3月8日
    200
  • JS中offset和匀速动实例分析

    本文主要和大家介绍javascript动画:offset和匀速动画详解(含轮播图的实现),并把实现代码做了分享,有兴趣的朋友参考下,希望能帮助到大家。 offset简介 我们知道,三大家族包括:offset/scroll/client。今天…

    2025年3月8日 编程技术
    200
  • JavaScript如何获取select下拉框中第一个值

    本文主要和大家介绍javascript实现获取select下拉框中第一个值的方法,涉及javascript针对页面元素属性的相关获取操作技巧,需要的朋友可以参考下,希望能帮助到大家。 1、说明 获取select下拉框中的第一个值 2、实现源…

    2025年3月8日
    200
  • JS命令模式概念与用法分享

    本文主要和大家介绍js设计模式之命令模式概念与用法,简单描述了命令模式的原理、功能并结合javascript实例形式分析了命令模式相关定义与使用技巧,需要的朋友可以参考下,希望能帮助到大家。 客户创建命令;调用者执行该命令;接收者在命令执行…

    2025年3月8日
    200
  • nodejs中Express与Koa2对比实例分享

    express诞生已有时日,是一个简洁而灵活的web开发框架,使用简单而功能强大。koa相对更为年轻,是express框架原班人马基于es6新特性重新开发的敏捷开发框架,现在可谓风头正劲,大有赶超express之势。 1、先说结论 目前没有…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论