Rileva quando Body Scroll colpisce in alto | fondo dell’elemento

Sto cercando di rilevare utilizzando javascript e jquery quando lo scroll della finestra colpisce la parte superiore di un elemento selezionato. Penso che sto facendo progressi ma ancora nessun risultato:

fiddle: https://jsfiddle.net/jzhang172/opvb2csy/

$(window).scroll(function() { var targetScroll = $('.div').position().top; if($(window).scrollTop() > targetScroll){ alert('hey'); }); }); 
 body,html{ height:2000px; } .div{ height:300px; width:300px; position:absolute; top:500px; background:red; } 
  

 $(window).scroll(function() { var targetScroll = $('.div').position().top; if($(window).scrollTop() > targetScroll) { alert('hey'); }); // <=== Syntax Error: Closing Parenthese around an if block }); 
 $(window).scroll(function() { var targetScroll = $('.div').offset().top - $('.div').outerHeight(); if($(window).scrollTop() > targetScroll) { alert('hey'); } }); 

fbelanger aveva ragione riguardo l’errore di syntax, ma la funzione avrebbe comunque sparato nella parte inferiore del div. Basta sottrarre l’altezza del div dal suo offset dall’alto. Spero che questo ti aiuti!