• User Newbie

    setTimeout chiamare classe nuova

    Ciao a tutti,
    vorrei chiedervi se potete darmi una mano a capire perchè non riesco a far funzionare questo microscript

    quello che sto cercando di fare è:
    quando mi posiziono con il mouse sopra una foto, vorrei richiamare a distanza di 1 secondo o anche meno una classe nuova in sequenza,
    in poche parole ho uno sprite con dentro delle immagini e ogni classe ha già il posizionamento del background.
    Quello che succede così facendo è che mi aggiunge le classi ma e come se le mettesse tutte insieme,
    se con inspect element controllo vedo che ho tutte le classi ma non si vede diciamo "l'animazione" tra una foto e l'altra.

    $('img.sprite').mouseover(function () {
    setTimeout(function(){
    load1();
    }, 1);
    });

    function load1 () {
    $(' img.sprite').addClass('s1');
    setTimeout(load2(), 1000);
    }

    function load2 () {
    $('img.sprite').addClass('s2');
    setTimeout(load3(), 1000);
    }

    function load3 () {
    $('img.sprite').addClass('s3');

    }

    ho provato ad aggiungere anche remove class tipo così

    function load2 () {
    $('img.sprite').removeClass('s1');
    $('img.sprite').addClass('s2');
    setTimeout(load3(), 1000);
    }

    ma non funziona...

    ho provato anche con setInterval ma nemmeno con questo sono riuscito...
    se qualcuno può aiutarmi a capire cosa sbaglio e se c'è una tecnica che non includa
    tutte queste funzioni una dietro l'altra per risparmiare codice ne sarei grato...

    grazie a
    tutti
    un saluto