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 相关文章推荐
在网页中屏蔽快捷键
Sep 06 Javascript
JS正则验证邮箱的格式详细介绍
Nov 19 Javascript
javascript常见操作汇总
Sep 03 Javascript
jQuery实现内容定时切换效果完整实例
Apr 06 Javascript
jQuery使用经验小技巧(推荐)
May 31 Javascript
BootStrap table删除指定行的注意事项(笔记整理)
Feb 05 Javascript
jQuery选择器_动力节点Java学院整理
Jul 05 jQuery
微信小程序通过一个json实现分享朋友圈图片
Sep 03 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
Sep 11 Javascript
Vue Components 数字键盘的实现
Sep 18 Javascript
Vue基于iview实现登录密码的显示与隐藏功能
Mar 06 Javascript
如何使用jQuery操作Cookies方法解析
Sep 08 jQuery
基于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函数学习之PHP函数点评
2012/07/05 PHP
php过滤XSS攻击的函数
2013/11/12 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
javascript oop开发滑动(slide)菜单控件
2010/08/25 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
JQuery的ready函数与JS的onload的区别详解
2013/11/21 Javascript
jquery原创弹出层折叠效果点击折叠弹出一个层
2014/03/12 Javascript
javascript常用代码段搜集
2014/12/04 Javascript
JavaScript中innerHTML,innerText,outerHTML的用法及区别
2015/09/01 Javascript
JS实现页面载入时随机显示图片效果
2016/09/07 Javascript
AngularJS  双向数据绑定详解简单实例
2016/10/20 Javascript
Ajax实现不刷新取最新商品
2017/03/01 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
vue弹窗组件使用方法
2018/04/28 Javascript
JavaScript 面向对象基础简单示例
2019/10/02 Javascript
关于uniApp editor微信滑动问题
2021/01/15 Javascript
[52:52]完美世界DOTA2联赛PWL S3 LBZS vs access 第一场 12.10
2020/12/13 DOTA
python thread 并发且顺序运行示例
2009/04/09 Python
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
python多线程操作实例
2014/11/21 Python
解决Python网页爬虫之中文乱码问题
2018/05/11 Python
使用Python抓取豆瓣影评数据的方法
2018/10/17 Python
set在python里的含义和用法
2019/06/24 Python
python+selenium select下拉选择框定位处理方法
2019/08/24 Python
Python图像处理库PIL的ImageFilter模块使用介绍
2020/02/26 Python
Python虚拟环境venv用法详解
2020/05/25 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
设计4个线程,其中两个线程每次对j增加1,另外两个线程对j每次减少1。写出程序。
2014/12/30 面试题
迎元旦广播稿
2014/02/22 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
代理人委托书
2014/09/16 职场文书
女生抽烟检讨书
2014/10/05 职场文书
2016年校园重阳节广播稿
2015/12/18 职场文书
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python
React如何使用axios请求数据并把数据渲染到组件
2022/08/05 Javascript