Visualizzazione dei risultati da 1 a 5 su 5

Hybrid View

  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2011
    Messaggi
    258
    Ciao, mi aiuti a capire, io avevo risolto in questo modo:

    Premendo un un bottone avvio la funzione temporizzata:
    codice:
    function StartChat(){    $('#result-chat').html('<div id="loader-chat"><img src="images/svg-loaders/loader-chat.svg" height="70" width="70"/></div>');
        tm = window.setInterval('ShowMessages()',4000);
        console.log('avvio chat');
    }// end StartChat
    Prelevo i messaggi dal database:

    codice:
    function ShowMessages() {    //Chiamata ajax
        $.ajax({
            //Imposto il tipo di invio dati
            type: "POST",
            //Invio i dati alla pagina php
            url: "http://sito.it/query.php",
            //Dati ricevuti in formato html
            dataType: "html",
            success: function(msg)
            {
                $("#result-chat").html(msg);
                $("#result-chat").fadeIn(1500);
      
                // debug
                console.log('Counter "ShowMessages"');
            },
            error: function()
            {
                console.log('Chiamata ajax fallita!');
            }
        });
    }// end ShowMessages
    Stop la funzione

    codice:
    function stopMessages(){
        window.clearInterval(tm);
        console.log('stop chat');
    }// end stopMessages

    Come posso convertirla nel tuo metodo?
    Ultima modifica di sixdas; 09-06-2015 a 20:28

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Quote Originariamente inviata da sixdas Visualizza il messaggio
    Come posso convertirla nel tuo metodo?

    JavaScript:

    codice:
    var dataUpdater = new (function () {
    
        function sendRequest () {
            oReq.open("GET", "http://sito.it/query.php", true);
            oReq.send();
        }
    
        function reqListen () {
            $("#result-chat").html(this.responseText);
            $("#result-chat").fadeIn(1500);
            console.log("Counter \"ShowMessages\"");
            nSession = setTimeout(sendRequest, 5000);
        }
    
        function reqError (oErr) {
            console.log("Chiamata ajax fallita!");
        }
    
        var
            nSession = -1, oReq = new XMLHttpRequest();
    
        oReq.onload = reqListen;
        oReq.onerror = reqError;
    
        this.start = function () {
            if (nSession !== -1) { return false; }
            sendRequest();
            return true;
        };
    
        this.stop = function () {
            clearTimeout(nSession);
            nSession = -1;
        };
    
    })();
    
    // Se non ti serve l'onload rimuovilo...
    onload = dataUpdater.start;


    HTML:

    codice:
    <span onclick="dataUpdater.stop();" style="color: #0000ff; text-decoration: underline; cursor: pointer;">Ferma il ciclo</span> |
    <span onclick="dataUpdater.start();" style="color: #0000ff; text-decoration: underline; cursor: pointer;">Avvia il ciclo</span>

    Ultima modifica di carlomarx; 13-06-2015 a 01:27
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.