Domanda

Come posso impedire che questo venga eseguito due volte quando arrivo in fondo alla pergamena?

 if  ($(window).scrollTop() == $(document).height() - $(window).height()){
                   last_msg_funtion();
 }

Opzioni che vedo:

Ho provato a impostare un var caricing_already == false e qualcosa piace:

if(loading_already==false){
     loading_already = true;
     last_msg_function();
     setTimeout('refresh_loading',300);
}

dove

function refresh_loading(){ loading_already = false; }

Ma non ha funzionato, qualche suggerimento per questo?

Grazie!

È stato utile?

Soluzione

caricing_already = true;

Hai == che è booleano è operatore, non assegnazione.

Altri suggerimenti

Dovresti usare il fantastico plug -in acceleratore/deboance jQuery. Rende questo genere di cose molto facili.

Il seguente esempio lo garantirà las_msg_function è chiamato non più di una volta ogni 250 millisecondi (supponendo che l'espressione di rilevamento di scorrimento sia corretta);

if ($(window).scrollTop() == $(document).height() - $(window).height()) {
  $.throttle(250, las_msg_function);
}

Ecco una pagina di esempio che mostra come questo viene utilizzato insieme al rilevamento di scorrimento (guarda il secondo esempio)

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top