Azione trigger jQuery quando un utente scorre oltre una determinata parte della pagina

Ciao a tutti, ho bisogno di un’azione jQuery per sparare quando un utente scorre accanto a determinate posizioni sulla pagina. Questo è ansible anche con jQuery? Ho guardato .scroll nell’API jQuery e non penso che sia ciò di cui ho bisogno. Spara ogni volta che l’utente scorre, ma io ho bisogno di sparare solo quando un utente passa una certa area.

Usa l’evento jquery .scroll ()

$(window).on('scroll', function() { var y_scroll_pos = window.pageYOffset; var scroll_pos_test = 150; // set to whatever you want it to be if(y_scroll_pos > scroll_pos_test) { //do stuff } }); 

http://jsfiddle.net/babumxx/hpXL4/

Waypoint in jQuery dovrebbero farlo: http://imakewebthings.github.com/jquery-waypoints/

 $('#my-el').waypoint(function(direction) { console.log('Reached ' + this.element.id + ' from ' + direction + ' direction.'); }); 

Documentazione sui plugin per waypoint jQuery: http://imakewebthings.com/waypoints/guides/jquery-zepto/

Per triggersre un’azione solo una volta su una singola pagina, ho modificato lo snippet di jondavid come segue.

 jQuery(document).ready(function($){ $triggered_times = 0; $(window).on('scroll', function() { var y_scroll_pos = window.pageYOffset; var scroll_pos_test = 150; // set to whatever you want it to be if(y_scroll_pos > scroll_pos_test && $triggered_times == 0 ) { //do your stuff over here $triggered_times = 1; // to make sure the above action triggers only once } }); }) 

Qui puoi controllare l’esempio dello snippet di codice funzionante;

 jQuery(document).ready(function($){ $triggered_times = 0; $(window).on('scroll', function() { var y_scroll_pos = window.pageYOffset; var scroll_pos_test = 150; // set to whatever you want it to be if(y_scroll_pos > scroll_pos_test && $triggered_times == 0 ) { alert('This alert is triggered when y_scroll_pos = 150') $triggered_times = 1; // to make sure the above action triggers only once } }); }) 
 p { height: 1000px; } 
   

scroll this block to get the result