fullPage代码从基层往上爬(一)
来源:互联网 发布:靓心阁优化门窗 编辑:程序博客网 时间:2024/06/05 05:39
fullPage代码从基层往上爬(一)
自己打算通过fullPage.js来好好巩固滚轮事件、兼容性实现、jquery、函数封装等等….
这一部分先完成fullPage的基础功能,接下来就会进行封装、优雅降级、添加功能等…
- html代码结构
- css布局
- jquery实现基础功能
html代码结构
最简单的结构,就不做详细说明了
<div class="section-group"> <section class="area-01" data-title="标题一"><h2>标题一</h2></section> <section class="area-02" data-title="标题二"><h2>标题二</h2></section> <section class="area-03" data-title="标题三"><h2>标题三</h2></section> <section class="area-04" data-title="标题四"><h2>标题四</h2></section> </div>
css布局
布局也简单,挑重点贴
.section-group{ width:100%;height:100%;position:relative; -webkit-transition:1s cubic-bezier(.74,0,.2,1); transition:1s cubic-bezier(.74,0,.2,1); } .section-group >section{ width:100%;height:100%;overflow:hidden; }/*右边的ul条**/.pagination { position: absolute; top: 50%; transform: translateY(-25%); right: 50px; z-index: 999; } .pagination >li{ width:14px;height:14px;background:rgba(0,0,0,.6);margin:16px 0; border-radius:50%;cursor:pointer;position:relative; list-style:none; } .pagination >li >span{ line-height:26px;background:rgba(0,0,0,.6);border-radius:13px; white-space:nowrap;font-size:12px;color:#fff;opacity:0; -webkit-transition:.6s;transition:.6s; -webkit-transform:translateX(20px);transform:translateX(20px); } .pagination >li:hover >span,.pagination >li.active >span{ opacity:1;-webkit-transform:translateX(0);transform:translateX(0);}
jquery实现基础功能
/** 这里还只支持IE8+ */$(function(){ var group = $('.section-group'); var sections = group.find('section'); var sectionLength = sections.length; var index = 0,translateY;onMove=false; //侧边 var pagination = function(){ var lis = ['<ul class=\"pagination\">']; for(var i = 0;i<sectionLength;i++){ title = sections.eq(i).data('title');//data-title lis.push('<li><span>'+ (title?title:'') +'</span></li>'); } lis.push('</ul>'); return lis.join(''); } $("body").append(pagination()); $("ul.pagination>li").eq(0).addClass('active');//默认第一个li选中 $("ul.pagination>li").click(function(){ //li点击事件编写 if(onMove){return;} var _this = $(this); _this.addClass('active'); _this.siblings().removeClass('active'); index = _this.index(); translateY = index*100; onMove = true; group.css({ '-webkit-transform':'translateY(-'+ translateY +'%)', 'transform':'translateY(-'+ translateY +'%)' }); setTimeout(function () {//为了防止滚轮时间不断被触发 onMove = false; }, 500); }) // jquery 兼容的滚轮事件 $(document).on("mousewheel DOMMouseScroll", function (e) { if(onMove){return;} var delta = (e.originalEvent.wheelDelta && (e.originalEvent.wheelDelta > 0 ? 1 : -1)) || // chrome & ie (e.originalEvent.detail && (e.originalEvent.detail > 0 ? -1 : 1)); // firefox if (delta > 0) { if(index<=0){ return; } else{index--;} $("ul.pagination>li").eq(index).click(); } else if (delta < 0) { if(index>sectionLength-2){ return; } else{index++;} $("ul.pagination>li").eq(index).click(); } });})
阅读全文
0 0
- fullPage代码从基层往上爬(一)
- 如何做好基层管理者(一)
- fullPage.js插件使用(一)
- It怎样从基层做起
- fullpage(全屏滚动)
- 作为一名基层管理者如何利用情商管理自己和团队(一)
- 作为一名基层管理者如何利用情商管理自己和团队(一)
- 作为一名基层管理者如何利用情商管理自己和团队(一)
- 作为一名基层管理者如何利用情商管理自己和团队(一)
- 作为一名基层管理者如何利用情商管理自己和团队(二)
- 作为一名基层管理者如何利用情商管理自己和团队(二)
- 作为一名基层管理者如何利用情商管理自己和团队(二)
- 作为一名基层管理者如何利用情商管理自己和团队(二)
- linux内核学习(13)我们开始慢慢地往上爬...
- 如何做好基层管理者(二)
- 从 FingBugs的错误来看JAVA代码质量(一)
- 从内核代码初探Linux的启动过程(一)
- 从 FingBugs的错误来看JAVA代码质量(一)
- HTTP请求返回状态码有哪几种
- pdf解密
- 1788:Pell数列(2.2基本算法之递归和自调用函数)
- 技术博客开篇
- 常用数据库连接池 (DBCP、c3p0、Druid) 配置说明
- fullPage代码从基层往上爬(一)
- 2843: 极地旅行社
- os进程调度和经典算法
- Java进阶之路——从初级程序员到架构师,从小工到专家
- Spring原理分析1---Spring源码环境搭建和Demo
- 【错误解决】Spring JPA的错误及其解决方案
- CPU Cache
- 挖参还能直播?服务“三农”有新法
- orzdba的安装