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 学习第六课 实现一个Ajax的TreeView
May 17 Javascript
JS格式化数字保留两位小数点示例代码
Oct 15 Javascript
css配合jquery美化 select
Nov 29 Javascript
js获取鼠标点击的对象,点击另一个按钮删除该对象的实现代码
May 13 Javascript
Javascript日期格式化format函数的使用方法
Aug 30 Javascript
ng-options和ng-checked在表单中的高级运用(推荐)
Jan 21 Javascript
微信小程序 生命周期函数详解
May 24 Javascript
详解JS构造函数中this和return
Sep 16 Javascript
jQuery实现点击DIV同时点击CheckBox,并为DIV上背景色的实例
Dec 18 jQuery
详解几十行代码实现一个vue的状态管理
Jan 28 Javascript
jQuery+ajax实现用户登录验证
Sep 13 jQuery
vue实现单一筛选、删除筛选条件
Oct 26 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
全国FM电台频率大全 - 13 福建省
2020/03/11 无线电
在项目中寻找代码的坏命名
2012/07/14 PHP
ThinkPHP、ZF2、Yaf、Laravel框架路由大比拼
2015/03/25 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
PHP注释语法规范与命名规范详解篇
2018/01/21 PHP
jquery动态加载js三种方法实例
2013/08/03 Javascript
jQuery中bind与live的用法及区别小结
2014/01/27 Javascript
javascript异步编程代码书写规范Promise学习笔记
2015/02/11 Javascript
Java中Timer的用法详解
2015/10/21 Javascript
bootstrap实现弹窗和拖动效果
2016/01/03 Javascript
实现两个文本框同时输入的实例
2017/09/25 Javascript
JS实现在文本指定位置插入内容的简单示例
2017/12/22 Javascript
Vue中v-for的数据分组实例
2018/03/07 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
ElementUI Tag组件实现多标签生成的方法示例
2019/07/08 Javascript
js如何获取访问IP、地区、当前操作浏览器
2019/07/23 Javascript
vue router动态路由设置参数可选问题
2019/08/21 Javascript
python对字典进行排序实例
2014/09/25 Python
Python tkinter事件高级用法实例
2018/01/31 Python
对python 判断数字是否小于0的方法详解
2019/01/26 Python
python贪吃蛇游戏代码
2020/04/18 Python
Python使用Pandas对csv文件进行数据处理的方法
2019/08/01 Python
Python模拟伯努利试验和二项分布代码实例
2020/05/27 Python
Keras自动下载的数据集/模型存放位置介绍
2020/06/19 Python
Win10下配置tensorflow-gpu的详细教程(无VS2015/2017)
2020/07/14 Python
使用python库xlsxwriter库来输出各种xlsx文件的示例
2020/09/01 Python
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
Happy Socks英国官网:购买五颜六色的袜子
2020/11/03 全球购物
教育科学研究生自荐信
2013/10/09 职场文书
体育专业个人求职信范文
2013/12/27 职场文书
欢迎领导检查标语
2014/06/27 职场文书
教师业务学习材料
2014/12/16 职场文书
2015年工程部工作总结
2015/04/30 职场文书
Python带你从浅入深探究Tuple(基础篇)
2021/05/15 Python
Vue中foreach数组与js中遍历数组的写法说明
2021/06/05 Vue.js
java泛型通配符详解
2021/07/25 Java/Android