本文实例讲述了原生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小时内与您取得联系。