前言

单页/全屏滚动页面越来越常见了,它多用于产品介绍、招聘等内容较少的简单页面。针对这种效果也出现了不少 jQuery 插件,本文实现的效果类似于fullpage的单屏滚动,使用原生JS实现,不依赖任何js库;
css代码:
html,body {height:100%;}
body {margin:0px;}
div {height:100%;}
html代码:
<div style="background:#FEE;"></div> <div style="background:#EFE;"></div> <div style="background:#EEF;"></div> <div style="background:red;"></div>
js代码:
document.addEventListener("DOMContentLoaded", function() {
var body = document.body,
html = document.documentElement;
var itv, height = document.body.offsetHeight;
var page = scrollTop() / height | 0;
//窗口大小改变事件
addEventListener("resize", onresize, false);
onresize();
//滚轮事件
document.body.addEventListener(
"onwheel" in document ? "wheel" : "mousewheel",
function(e) {
clearTimeout(itv);
itv = setTimeout(function() {
var delta = e.wheelDelta / 120 || -e.deltaY / 3;
page -= delta;
var max = (document.body.scrollHeight / height | 0) - 1;
if (page < 0) return page = 0;
if (page > max) return page = max;
move();
}, 100);
e.preventDefault();
}
);
//平滑滚动
function move() {
var value = height * page;
var diff = scrollTop() - value;
(function callee() {
diff = diff / 1.2 | 0;
scrollTop(value + diff);
if (diff) itv = setTimeout(callee, 16);
})();
};
//resize事件
function onresize() {
height = body.offsetHeight;
move();
};
//获取或设置scrollTop
function scrollTop(v) {
if (v == null) return Math.max(body.scrollTop, html.scrollTop);
else body.scrollTop = html.scrollTop = v;
};
});
在线演示请点击:这里
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。
# js原生实现全屏滚动
# js原生代码全屏滚动
# js全屏滚动切换
# 原生javascript实现的全屏滚动功能示例
# JavaScript全屏和退出全屏事件总结(附代码)
# fullPage.js和CSS3实现全屏滚动效果
# Javascript 实现全屏滚动实例代码
# JS实现全屏的四种写法
# jQuery插件fullPage.js实现全屏滚动效果
# JS 全屏和退出全屏详解及实例代码
# 全屏滚动插件fullPage.js使用实例解析
# 浅谈javascript控制HTML5的全屏操控
# 浏览器兼容的问题
# js实现各浏览器全屏代码实例
# 请点击
# 见了
# 这篇文章
# 产品介绍
# 等内容
# 较少
# 全屏
# 类似于
# 出现了
# 不依赖
# 有疑问
# xhtml
# lt
# style
# margin
# px
# div
# gt
# EFE
# EEF
相关文章:
如何续费美橙建站之星域名及服务?
教学网站制作软件,学习*后期制作的网站有哪些?
如何安全更换建站之星模板并保留数据?
高性能网站服务器部署指南:稳定运行与安全配置优化方案
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
如何在局域网内绑定自建网站域名?
建站主机服务器选型指南与性能优化方案解析
官网建站费用明细查询_企业建站套餐价格及收费标准指南
如何在Golang中使用encoding/gob序列化对象_存储和传输数据
linux top下的 minerd 木马清除方法
如何通过VPS搭建网站快速盈利?
如何快速建站并高效导出源代码?
如何设置并定期更换建站之星安全管理员密码?
建站之星如何配置系统实现高效建站?
Android自定义控件实现温度旋转按钮效果
外贸公司网站制作哪家好,maersk船公司官网?
如何在香港免费服务器上快速搭建网站?
广平建站公司哪家专业可靠?如何选择?
表情包在线制作网站免费,表情包怎么弄?
建站之星如何保障用户数据免受黑客入侵?
齐河建站公司:营销型网站建设与SEO优化双核驱动策略
如何登录建站主机?访问步骤全解析
简易网站制作视频教程,使用记事本编写一个简单的网页html文件?
建站之星如何实现五合一智能建站与营销推广?
C#如何序列化对象为XML XmlSerializer用法
Swift开发中switch语句值绑定模式
网站制作企业,网站的banner和导航栏是指什么?
C#怎么使用委托和事件 C# delegate与event编程方法
小型网站制作HTML,*游戏网站怎么搭建?
网页设计网站制作软件,microsoft office哪个可以创建网页?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
上海网站制作网站建设公司,建筑电工证网上查询系统入口?
建站三合一如何选?哪家性价比更高?
香港服务器网站测试全流程:性能评估、SEO加载与移动适配优化
高端建站如何打造兼具美学与转化的品牌官网?
如何在云主机上快速搭建多站点网站?
沈阳个人网站制作公司,哪个网站能考到沈阳事业编招聘的信息?
建站之星logo尺寸如何设置最合适?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何在万网ECS上快速搭建专属网站?
建站之星如何快速生成多端适配网站?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
网站制作与设计教程,如何制作一个企业网站,建设网站的基本步骤有哪些?
如何高效搭建专业期货交易平台网站?
企业微网站怎么做,公司网站和公众号有什么区别?
济南企业网站制作公司,济南社保单位网上缴费步骤?
佛山网站制作系统,佛山企业变更地址网上办理步骤?
mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?
如何在橙子建站上传落地页?操作指南详解
seo网站制作优化,网站SEO优化步骤有哪些?
*请认真填写需求信息,我们会在24小时内与您取得联系。