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 相关文章推荐
javascript 拖放效果实现代码
Jan 22 Javascript
jQuery阻止事件冒泡具体实现
Oct 11 Javascript
Ajax同步与异步传输的示例代码
Nov 21 Javascript
用js格式化金额可设置保留的小数位数
May 09 Javascript
js统计录入文本框中字符的个数并加以限制不超过多少
May 23 Javascript
Javascript学习笔记之 对象篇(一) : 对象的使用和属性
Jun 24 Javascript
详解Angularjs filter过滤器
Feb 06 Javascript
js表单处理中单选、多选、选择框值的获取及表单的序列化
Mar 08 Javascript
荐书|您有一份JavaScript书单待签收
Jul 21 Javascript
vue导出html、word和pdf的实现代码
Jul 31 Javascript
解决layer弹层遮罩挡住窗体的问题
Aug 17 Javascript
Vue 通过公共字段,拼接两个对象数组的实例
Nov 07 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 保留小数点
2009/04/21 PHP
PHP会话控制:Session与Cookie详解
2014/09/27 PHP
thinkPHP模板中函数的使用方法示例
2016/11/30 PHP
PHP中in_array的隐式转换的解决方法
2018/03/06 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
PHP Ajax跨域问题解决方案代码实例
2020/08/01 PHP
从数据库读取数据后将其输出成html标签的三种方法
2014/10/13 Javascript
jQuery团购倒计时特效实现方法
2015/05/07 Javascript
学习JavaScript设计模式之单例模式
2016/01/19 Javascript
JS实现获取来自百度,Google,soso,sogou关键词的方法
2016/12/21 Javascript
微信小程序中input标签详解及简单实例
2017/05/18 Javascript
详解vue2 $watch要注意的问题
2017/09/08 Javascript
mpvue性能优化实战技巧(小结)
2019/04/17 Javascript
js设计模式之单例模式原理与用法详解
2019/08/15 Javascript
关于layui 弹出层一闪而过就消失的解决方法
2019/09/09 Javascript
node.js +mongdb实现登录功能
2020/06/18 Javascript
[59:48]LGD vs IG 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python实现在线程里运行scrapy的方法
2015/04/07 Python
Pyhthon中使用compileall模块编译源文件为pyc文件
2015/04/28 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
Python的numpy库中将矩阵转换为列表等函数的方法
2018/04/04 Python
python使用Paramiko模块实现远程文件拷贝
2019/04/30 Python
Django-rest-framework中过滤器的定制实例
2020/04/01 Python
如何使用python的ctypes调用医保中心的dll动态库下载医保中心的账单
2020/05/24 Python
猫途鹰英国网站:TripAdvisor英国(旅游社区和旅游评论)
2016/08/30 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
《挑山工》的教学反思
2014/02/16 职场文书
教师个人读书活动总结
2014/07/08 职场文书
通信工程求职信
2014/07/16 职场文书
2015年餐厅服务员工作总结
2015/04/23 职场文书
国庆放假通知怎么写
2015/07/30 职场文书
2015年社区反邪教工作总结
2015/10/14 职场文书
python实现进度条的多种实现
2021/04/29 Python
mysql升级到5.7时,wordpress导数据报错1067的问题
2021/05/27 MySQL
Python中seaborn库之countplot的数据可视化使用
2021/06/11 Python