0.1.3 • Published 10 years ago
top-most v0.1.3
top-most
respond to the top most visible DOM element changing
Installation
$ {package mananger} install jkroso/top-most
then in your app:
var top-most = require('top-most')
API
topmost(items:Array|Nodelist, fn:Function)
create a new TopCell. If you pass a function be invoked with the current top-most node and subscribed to future changes. At least ones which arise from the browser resizing or scrolling. Its up to you to notify it of other possible changes such as DOM mutation.
TopCell.buffer(n:Number)
get/set the Cells buffer. Buffer meaning the number of pixels which must be shown before a node is considered "on-screen"
TopCell.change()
check if the top most node has changed. If it has a "change" event will be emitted. You might want to call this after doing some DOM mutation etc..
TopCell.destroy()
clean up
Example
topmost(document.getElementsByTagName('section'))
.buffer(30)
.on('change', function(el, index){
console.log('the %dth item the top-most', index)
})
.change()
Running the Examples
Just run make
and navigate your browser to them.
Thanks
Inspired by and based on timoxley/scroll-position