Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221

    Fermare una funzione javascript

    Ciao ragazzi.
    Ho la seguente funzione che carica regolarmente la pagina php

    var myVar = setInterval(myTimer, 100);
    function myTimer() {
    $(".grid").load("carica.php");
    }

    L'unica cosa è che continua a caricarla all'infinito.
    Come faccio a far eseguire questa funzione una sola volta?
    Grazie

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,131
    E togliere il setInterval? facendo cosi $(".grid").load("carica.php");
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221
    Non me lo prende senza un delay...

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    https://www.w3schools.com/jsref/met_...arinterval.asp per stoppare.
    Probabilmente se non prende senza un delay potrebbe essere perchè richiamata nel momento sbagliato. Come dice Andrea dovrebbe quindi andare correttamente. Magari devi solo inserirlo su dom ready o window load. Non so come funziona il tuo script.

  5. #5
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221
    Ciao Marko....ora provo con il link che hai postato.
    Ma visto che non sono molto esperto e vorrei imparare...ti posto il codice completo..così mi sai dire se è nel punto giusto o sbgliato..Grazie mille.

    $(document).ready(function() {
    $('#inviadai').click(function() {

    $.ajax({
    url: 'insert.php',
    data: $('#form1').serialize(),
    success: function(){
    alert('this worked');
    }
    });
    return false;

    });



    var myVar = setInterval(myTimer, 100);
    function myTimer() {
    $(".grid").load("carica.php");
    }
    });

  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221
    Ho provato il link che hai postato....lo script viene ricaricato continuamente lo stesso e fa come un effetto "strobo" sui risultati...sai dirmi perchè?

  7. #7
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Ciao, per rigor di logica se la funzione myTimer fa quel che penso, dovrebbe essere scritto così:
    codice:
    $(document).ready(function() { 
    	$('#inviadai').click(function() { 
    		$.ajax({
    			url: 'insert.php',
    			data: $('#form1').serialize(),
    			success: function(){
    				alert('this worked');
    			}
    		}); 
    	}); 
    
    
    
    
    	var myVar = setInterval(myTimer, 100);
    	function myTimer() {
    		$(".grid").load("carica.php"); 
    		clearInterval(myVar);
    	} 
    });
    Ma a questo punto se myTimer dev'essere eseguito una volta sola tanto vale usare setTimeout() per eseguire una volta sola senza la necessità di stoppare successivamente.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221
    e no..non mi carica il contenuto scritto come l'hai scritto tu..ti giro il link così vedi lo schero che mi fa

    http://mappeinterattive.altervista.org/

  9. #9
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,654
    Non vedo nessun clearTimeout nel codice attuale.

  10. #10
    Utente di HTML.it
    Registrato dal
    Feb 2015
    Messaggi
    221
    Grazie mille Marko..l'ho messo e funziona...scusa..ma prima l'avevo messo e non funzionava..boooo...adesso è tutto ok...

Tag per questa discussione

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.