add onVisible callback

add onVisible callback
when the element in viewport