Fullpage.js固定导航栏-实现定位导航栏


Posted in Javascript onMarch 17, 2016

FullPage.js 是一个简单而易于使用的插件,用来创建全屏滚动网站(也被称为单页网站)。除了可以创建全屏滚动效果以外,也可以给网站添加一些水平的滑块效果。能够自适应不同的屏幕尺寸,包括平板电脑和移动设备。

开始制作自己的个人简历啦,决定要使用固定导航栏,又打算使用fullpage.js做全屏滚动。

仔细看了fullpage文档之后,发现不用额外写js代码就可以实现以下效果:

Fullpage.js固定导航栏-实现定位导航栏

1.当滚动翻页时,导航栏也自动定位到这一页的标签

2.当然点击标签时,也是滚动到那一页而不是直接跳转的。

一、准备工作肯定是要先导入fullpage.js啦;

官网是https://github.com/alvarotrigo/fullPage.js

<link rel="stylesheet" href="styles/jquery.fullPage.css">
<script src="scripts/jquery.min.js"></script>
<script src="scripts/jquery.fullPage.min.js"></script>

fullpage是基于jquery的,所以要记得导入jquery哦。

二、导航栏结构

<ul id="myMenu">
<li data-menuanchor="firstPage" class="menuList"><a href="#firstPage">首页</a></li>
<li data-menuanchor="secondPage"class="menuList"><a href="#secondPage">作品</a></li>
<li data-menuanchor="thirdPage" class="menuList"><a href="#thirdPage">技能</a></li>
<li data-menuanchor="fourthPage"class="menuList"><a href="#fourthPage">联系方式</a></li>
</ul>

上面导航栏的结构是这样的,其中的data-menuanchor就是fullpage要求的,a便签的href属性也要相对应的值咯。

三、滚动页的结构很简单,如下

<div id="fullpage">
<div class="section">1</div>
<div class="section">2</div>
<div class="section">3</div>
<div class="section">4</div>
</div>

四、要配置fullpage,js

$(document).ready(function() {
$('#fullpage').fullpage({
paddingTop: '50px',
anchors:['firstPage', 'secondPage', 'thirdPage','fourthPage'],
menu: '#myMenu'});
});

我的配置内容如图,第一条 paddingTop: '50px',是为了给固定导航栏腾出空间

第二条:anchors,这个是依次给滚动页设置锚点,注意这里需要和导航栏里的li标签的data-menuanchor属性以及a的href属性对应。

第三条:就是绑定菜单,也就是上面的导航栏。

更多配置项参考这里:https://github.com/Niefee/My-study-records/blob/master/2016/1/2016%E5%B9%B41%E6%9C%8818%E6%97%A5.markdown

五、增加active类的样式

这样,fullpage就配置好了,但是导航栏的样式还不能根据页面变化我们先查看一下控制台

Fullpage.js固定导航栏-实现定位导航栏

当页面滚动时,fullpage.js会给菜单里的对应项加入active类,这样就好办了我们加一条css样式,给active类改变背景色
.active{background-color: #609F98;}

这样,所有的效果就实现啦

PS:潜在的小bug,因为fullpage会在当前滚动页也加入active类,也就意味着这个css样式会影响该页的背景颜色(还好我用的背景图,不受影响,机智如我,哈哈),我猜想要解决的话,那可能要给section类加背景颜色,再加个!important吧。

好了,关于Fullpage.js固定导航栏-实现定位导航栏的相关内容就给大家介绍到这里,希望对大家有所帮助!

Javascript 相关文章推荐
使用jQuery fancybox插件打造一个实用的数据传输模态弹出窗体
Jan 15 Javascript
JS等比例缩小图片尺寸的实例
Feb 27 Javascript
jquery获取div距离窗口和父级dv的距离示例
Oct 10 Javascript
JavaScript性能优化总结之加载与执行
Aug 11 Javascript
JavaScript评论点赞功能的实现方法
Mar 13 Javascript
jQuery模拟窗口抖动效果
Mar 15 Javascript
Angular.JS中的指令引用template与指令当做属性详解
Mar 30 Javascript
JS表单传值和URL编码转换
Mar 03 Javascript
简单了解小程序+node梳理登陆流程
Jun 24 Javascript
微信用户访问小程序的登录过程详解
Sep 20 Javascript
layui table动态表头 改变表格头部 重新加载表格的方法
Sep 21 Javascript
AI小程序之语音听写来了,十分钟掌握百度大脑语音听写全攻略
Mar 13 Javascript
基于socket.io+express实现多房间聊天
Mar 17 #Javascript
盘点javascript 正则表达式中 中括号的【坑】
Mar 16 #Javascript
教你用javascript实现随机标签云效果_附代码
Mar 16 #Javascript
浅析AMD CMD CommonJS规范--javascript模块化加载学习心得总结
Mar 16 #Javascript
js纯数字逐一停止显示效果的实现代码
Mar 16 #Javascript
神奇!js+CSS+DIV实现文字颜色渐变效果
Mar 16 #Javascript
js获取时间精确到秒(年月日)
Mar 16 #Javascript
You might like
php expects parameter 1 to be resource, array given 错误
2011/03/23 PHP
LotusPhp笔记之:Cookie组件的使用详解
2013/05/06 PHP
深入解析yii权限分级式访问控制的实现(非RBAC法)
2013/06/13 PHP
PHP中提问频率最高的11个面试题和答案
2014/09/02 PHP
用jQuery中的ajax分页实现代码
2011/09/20 Javascript
Jquery实现三层遍历删除功能代码
2013/04/23 Javascript
7款吸引人眼球的jQuery/CSS3特效实例分享
2013/04/25 Javascript
使用不同的方法结合/合并两个JS数组
2014/09/18 Javascript
JavaScript变量的作用域全解析
2015/08/14 Javascript
第一次接触神奇的Bootstrap网格系统
2016/07/27 Javascript
JavaScript性能优化总结之加载与执行
2016/08/11 Javascript
js中setTimeout的妙用--防止循环超时
2017/03/06 Javascript
Vue中的数据监听和数据交互案例解析
2017/07/12 Javascript
浅谈Node.js爬虫之网页请求模块
2018/01/11 Javascript
详解vue使用vue-layer-mobile组件实现toast,loading效果
2018/08/31 Javascript
代码实例ajax实现点击加载更多数据图片
2018/10/12 Javascript
mocha的时序规则讲解
2019/02/16 Javascript
es6中new.target的作用和使用场景简单示例分析
2020/03/14 Javascript
Openlayers测量距离与面积的实现方法
2020/09/25 Javascript
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
python list是否包含另一个list所有元素的实例
2018/05/04 Python
python基于C/S模式实现聊天室功能
2019/01/09 Python
Python基础学习之类与实例基本用法与注意事项详解
2019/06/17 Python
详解python 利用echarts画地图(热力图)(世界地图,省市地图,区县地图)
2019/08/06 Python
python3多线程知识点总结
2019/09/26 Python
详解django中Template语言
2020/02/22 Python
python如何快速生成时间戳
2020/07/21 Python
Tiqets荷兰:出售欧洲最美丽的景点和博物馆门票
2018/01/09 全球购物
澳大利高级泳装品牌:Bondi Born
2018/05/23 全球购物
美国家居装饰店:Z Gallerie
2020/12/28 全球购物
程序员机试试题汇总
2012/03/07 面试题
数据库测试通常都包括哪些方面
2015/11/30 面试题
个人自荐书范文
2015/03/09 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书
详解vue中v-for的key唯一性
2021/05/15 Vue.js
5分钟教你docker安装启动redis全教程(全新方式)
2021/05/29 Redis