css position:sticky的兼容实现库。
如果浏览器支持则使用浏览器实现,如果不支持则采用监听scroll+position:fixed实现。
核心算法依赖element.getBoundingClientRect()
<script type="text/javascript" src="sticky-polyfill.js"></script>
支持AMD require语法
<script type="text/javascript">
/**
* StickyPolyFill.polyfill();
* 跟下面的写法是等价
*/
StickyPolyFill.polyfill({
className: 'sticky-polyfill',
top: '0px',
bottom: '',
zIndex: '1'
});
/**
* 可以多次配置自定义参数来增加sticky类型
*/
StickyPolyFill.polyfill({
className: 'my-sticky-bottom',
top: '',
bottom: '0px',
zIndex: '1'
});
</script>
<section class="sticky-polyfill">
<span>sticky-top</span>
</section>
<div class="my-sticky-bottom">
<span>sticky-bottom</span>
</div>
MDN-position
CSS “position: sticky” – Introduction and Polyfills