Headroom.js插件使用方法

一、Headroom.js是什么?

Headroom.js是一个轻量级、高性能的JS小工具(不依赖任何工具库!),它能在页面滚动时做出响应。

此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航条消失,当页面向上滚动时,导航条就出现了。


二、Headroom.js有什么用?

固定页头(导航条)可以方便用户在各个页面之间切换。但是这也会带来些问题…

大屏幕一般都是宽度大于高度的,也就是说屏幕高度要少一些.固定页头会占用一部分本来可以用于展示内容的区域。

小屏幕一般是高度较大,但是别忘了,屏幕本来就小,页头再占用一部分的话,屏幕可用于展示内容的区域当然还是少。

Headroom.js 能帮你把不需要的页面元素在合适的时间展示出来,让用户花更多时间关注你页面上的内容。


三、Headroom.js如何使用

以下的例子是基于bootstrap框架和jquery插件的,在bootstrap框架下可以快速写出导航栏navbar,

然后以jquery插件方式对导航栏navbar调用headroom()


1、首先需要引用headroom.js和jquery.headroom.js。(文件附于示例中)

<script src="js/headroom.js"></script>
<script src="js/jquery.headroom.js"></script>

2、通过css的trasition属性达到变换效果。添加如下CSS

<style type="text/css">
	.headroom {position: fixed;top: 0;left: 0;right: 0;transition: all .2s ease-in-out;}
	.headroom--unpinned {top: -100px;}
	.headroom--pinned {top: 0;}
</style>

3、之后添加下面的js代码,使用jquery插件的方式调用。".navbar-fixed-top"只是用来获取导航栏navbar,

也可以用其他选择器来获取navbar目标元素

<script type="text/javascript">
        $(".navbar-fixed-top").headroom();   
</script>
上述的效果只是通过css自带的trasition属性来实现效果,比较单调。

可以结合animate.css实现更多的漂亮的消失和出现的效果。(查看效果)


animate.css使用纯css为各种元素实现不同的动画效果,每一种class对应一种动画效果,

所以将animate.css引入代码后headroom()可以直接使用已经写好的class。(animate.css下载)


引入animate.css作为效果之后可以使用如下参数实现动画效果

$(".navbar-fixed-top").headroom( {
	"tolerance" : 5,
	"offset" : 75,
	"classes" : {
		"initial" : "animated",
		"pinned" : "flipInX",
		"unpinned" : "flipOutX"
	}
});


在线演示



郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。