项目作者: mqyqingfeng

项目描述 :
原生 JavaScript 实现的固定在顶部效果,兼容到 IE7+。
高级语言: JavaScript
项目地址: git://github.com/mqyqingfeng/Sticky.git
创建时间: 2017-10-11T06:41:39Z
项目社区:https://github.com/mqyqingfeng/Sticky

开源协议:

关键词:
sticky sticky-headers

下载


sticky

介绍

原生 JavaScript 实现的固定在顶部效果,兼容到 IE7+。

效果演示:https://mqyqingfeng.github.io/Sticky/

兼容性

IE7+

依赖

原生 JavaScript 实现,无依赖。

下载

  1. git clone git@github.com:mqyqingfeng/Sticky.git

使用

  1. <script src="path/sticky.js"></script>

或者

  1. import Sticky from 'path/sticky.js'

示例

HTML 文件:

  1. <div id="sticky"></div>

JavaScript 文件:

  1. var sticky = new Sticky("#sticky");

API

初始化

  1. var sticky = new Sticky("selector", options);

注意:当要兼容 IE7 的时候,不能传入选择符字符串,直接传入元素:

  1. var stickyElem = document.getElementById("sticky");
  2. var sticky = new Sticky(stickyElem)

options

1.offset

  1. var sticky = new Sticky("#sticky", {
  2. // 表示距离顶部 20px 的时候就固定
  3. offset: 20
  4. });

事件绑定

从未固定状态到固定状态的时候:

  1. sticky.on("onStick", function() {
  2. console.log('固定在顶部')
  3. })

从固定状态到未固定状态的时候:

  1. sticky.on("onDetach", function() {
  2. console.log('取消固定在顶部')
  3. })

如果希望事件只执行一次,可以使用 once 进行绑定

  1. sticky.once("onStick", function() {
  2. console.log('固定在顶部')
  3. })

类名

当固定在顶部的时候,会添加一个名为 sticky 的类名