Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

fixedsticky

Package Overview
Dependencies
Maintainers
1
Versions
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fixedsticky

sticky吸顶组件

  • 0.1.0
  • latest
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

fixedsticky

sticky组件,支持吸顶效果

如何使用

基本使用

实例方法为:

new lib.sticky(element, options)

或者把element放到options中做为一个属性:

new lib.sticky(options)

参数

  • element:一个DOM元素,或者是它的CSS选择器

  • top:(非必填)吸顶时元素距离视口顶部的高度,默认值为0

  • withinParent:(非必填,仅适用于Android)元素的sticky效果是否限制在父元素中,默认值为false

  • init:初始化实例

  • destroy:销毁实例

  • refresh:重置实例,如果withinParent设置为true,且父元素高度发生变化,请立即调用此方法

说明

在iOS上,由于scroll事件只有在滚动停止时才触发,所以使用原生sticky兼容性)实现完美的吸顶效果。

Android不支持原生sticky,使用监听scroll事件 + fixed和absolute + 一个占位元素模拟。

在使用lib.sticky组件时,为了兼容原生sticky的效果:

DOM结构必须严格遵守:

<div class="parent">
    <div class="sticky"></div>
</div>

对于sticky元素:

  • 最好为static元素
  • 若为定位元素
    • 只能设置z-index
    • 不要设置它的定位上下文
    • 不要设置它的top、bottom、left、right属性

对于父级元素:

  • 原生sticky元素仅在它父级容器内有效,超出容器范围则不再生效了。
    • 父级高度必须大于sticky元素的高度。
    • sticky元素的底部,不能和父级底部重叠。
  • 父级元素的overflow不能设置成auto、scroll、hidden。
  • sticky元素只能设置top值,设置bottom值无效。

更多参考资料:

其他:

  • 由于原生sticky元素在效果断点处没有提供事件,且iOS只有在滚动停止时才抛出scroll事件,想要在吸顶时刻添加一些其他行为在iOS上暂时无法实现。

Keywords

FAQs

Package last updated on 05 Apr 2016

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc