scroll event (screen の上から下まで見える範囲にいたとき発火)
option =
selector: "#Myselector"
delay: 50
# ライブラリ登録
$(selector).on('targetOnscroll', option, -> null)
# screen の上から下まで見える範囲にいたとき発火
# Firing selector in scroll
$.event.special.targetOnscroll =
setup: (option, namespace) ->
defaults = $.extend({
selector: ''
delayHeight: 100
}, option)
$(this).each ->
self = $(this)
sct = defaults.selector
# load, scroll, resize イベント登録(namespace: sct)
EVENTS = 'load.' + sct + ' ' + 'scroll.' + sct + ' ' + 'resize.' + sct
$(window).on EVENTS, ->
elmTop = self.offset().top
scrTop = $(window).scrollTop()
elmHeight = self.height()
windowHeight = $(window).height()
if scrTop > elmTop - (defaults.delayHeight) or scrTop + windowHeight > elmTop + elmHeight
# console.log '発火!', scrTop
window.SPSDK.util.generateActs(defaults.actData)
debugControl defaults.selector
# イベント削除
npc = '.' + sct
$(window).off npc
# if scrTop + windowHeight < elmTop
# console.log 'scrTop! out', scrTop
return
return