Headroom.js

下载

Development (3.7kB)

Production (1.7kB)

Headroom.js 是什么?

Headroom.js 是一个轻量级、高性能的JS小工具(不依赖任何工具库!),它能在页面滚动时做出响应。此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航条消失,当页面向上滚动时,导航条就出现了。

Headroom.js 有什么用?

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

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

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

工作原理

简单来说,headroom.js 只是为需要响应滚动事件的页面元素增加或删除一个CSS class:

<!-- 初始状态 -->
<header class="headroom">

<!-- 向下滚动时 -->
<header class="headroom headroom--unpinned">

<!-- 向上滚动时 -->
<header class="headroom headroom--pinned">

通过CSS class的设置,事情变得简单了。所有的控制权就交回到了你的手中,当页面向上或向下滚动时,你就可以通过设置CSS样式来做出自己需要的变化了。

用法

使用 headroom.js 是很简单的。它提供了简单的 JS API,另外,还可以作为 jQuery/Zepto 插件使用。

纯JS调用方式

// 获取页面元素
var myElement = document.querySelector("header");
// 创建 Headroom 对象,将页面元素传递进去
var headroom  = new Headroom(myElement);
// 初始化
headroom.init();

以 jQuery/Zepto 插件形式调用

// 是不是很简单!
// 注意: init() 默认在插件内部被调用了
$("#header").headroom();

插件还提供了一个 data-* API :

<!-- selects $("[data-headroom]") -->
<header data-headroom>

注意:为了兼容,Zepto 的data module 也需要引入。

参数

Headroom.js 还能接受一个参数对象,用以改变其行为。你可以看一下 Headroom.js 源码中对 Headroom.options 的定义。其 options 对象的结构如下:

{
    // 在元素没有固定之前,垂直方向的偏移量(以px为单位)
    offset : 0,
    // scroll tolerance in px before state changes
    tolerance : 0,
    // 对于每个状态都可以自定义css classes
    classes : {
        // 当元素初始化后所设置的class
        initial : "headroom",
        // 向上滚动时设置的class
        pinned : "headroom--pinned",
        // 向下滚动时所设置的class
        unpinned : "headroom--unpinned"
    }
}

案例

在 headroom.js playroom 页面可以看到更多使用案例。你甚至还可以调整Headroom.js 的参数来观察不同的效果。

License

Licensed under the MIT License.

时间: 2024-10-05 05:04:36

Headroom.js的相关文章

页面滚动显示或隐藏元素Headroom.js插件帮助你实现滚动效果

Headroom.js 是什么? Headroom.js 是一个轻量级.高性能的JS小工具(不依赖任何工具库!),它能在页面滚动时做出响应.此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航条消失,当页面向上滚动时,导航条就出现了. Headroom.js 有什么用? 固定页头(导航条)可以方便用户在各个页面之间切换.但是这也会带来些问题…本文原创博客地址:http://www.cnblogs.com/unofficial官网地址:www.pushself.com) 大屏幕一般都是宽度

Headroom.js插件使用方法

一.Headroom.js是什么? Headroom.js是一个轻量级.高性能的JS小工具(不依赖任何工具库!),它能在页面滚动时做出响应. 此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航条消失,当页面向上滚动时,导航条就出现了. 二.Headroom.js有什么用? 固定页头(导航条)可以方便用户在各个页面之间切换.但是这也会带来些问题- 大屏幕一般都是宽度大于高度的,也就是说屏幕高度要少一些.固定页头会占用一部分本来可以用于展示内容的区域. 小屏幕一般是高度较大,但是别忘了,屏

Headroom.js插件用法

一.Headroom.js是什么? Headroom.js是一个轻量级.高性能的JS小工具(不依赖不论什么工具库.),它能在页面滚动时做出响应. 此页面顶部的导航条就是一个鲜活的案例,当页面向下滚动时,导航条消失,当页面向上滚动时,导航条就出现了. 二.Headroom.js有什么用? 固定页头(导航条)能够方便用户在各个页面之间切换.可是这也会带来些问题- 大屏幕一般都是宽度大于高度的,也就是说屏幕高度要少一些.固定页头会占用一部分本来能够用于展示内容的区域. 小屏幕通常是高度较大,可是别忘了

好用的JS特效

Headroom.js隐藏或展示页面元素 Headroom.js 是一个轻量级.纯 JavaScript 组件,用来隐藏或展现页面上的元素,为你的页面留下更多展示内容的空间

Github上有趣的资料 | JS

留着,以后用得着,原文地址:http://www.jianshu.com/p/7c9aa9508641 collection AlloyImage 基于HTML5的专业级图像处理开源引擎.An image processing lib based on html5. http://alloyteam.github.io/AlloyImage/ angular.js http://angularjs.org device.js Device.js makes it easy to write co

你需要了解的JS框架

excanvas.js/Chart.js/cubism.js/d3.js/dc.js/dx.chartjs.js/echarts.js/flot.js 用途:构建数据统计图表,兼容多浏览器 jquery.tagcanvas.js       用途:构建tag云 下载地址:http://www.goat1000.com/tagcanvas.php jquery.fullPage.js      用途:网站整屏轮番 下载地址:http://www.jq22.com/jquery-info1124 案

3.交互

? Caption Hover Effects        A tutorial on how to create some subtle and modern caption hover effects. http://tympanus.net/Tutorials/CaptionHoverEffects CSS Shake    Some CSS classes to move your DOM! http://elrumordelaluz.sgithub.io/csshake/ dragg

前端组件库

//来源:http://www.cnblogs.com/liuzhibin/p/5944821.html 0. 前端自动化(Workflow) 前端构建工具 Yeoman – a set of tools for automating development workflow gulp – The streaming build system grunt – the JavaScript Task Runner F.I.S – 前端集成解决方案 前端模块管理器 Bower – A package

Bootstrap 快速人门案例——前端最火的插件

今天,我给小白们分享一下比较流行的Bootstrap框架,它在工作中得到许多公司的青睐,因此对于升职和加薪很重要.同时,我们可以快速完成开发任务,减少发开周期,有不对的地方望大家指正. 如果你想走的更远,那么请勤劳一点,多看看代码,多多练习代码,如果你仔细研究代码,自己也可以写出一部分的css比较好的插件. 一.Bootstrap简介 详见官网: http://www.bootcss.com/ http://v3.bootcss.com/ 1.练习准备资源准备: 下载bootstrap资源: h