Visualizzazione dei risultati da 1 a 4 su 4

Discussione: Scrolling del testo

  1. #1

    Scrolling del testo

    Salve ragazzi, stò cercando di fare funzionare lo scrolling del testo mediante la pressione dei tasti su e giu...
    associando ad esepio al pulsante <su> l'action script:
    on(rollOver, press){
    scr = testo.scroll;
    if (scr>1) {
    testo.scroll = scr-1;
    }
    scroll = testo.scroll;
    maxscroll = testo.maxscroll;
    }

    ed al frame contenente il pulsante:
    scroll = testo.scroll;
    maxscroll = testo.maxscroll;

    Funziona, ma solo cliccando continuamente sul pulsante, personalmente essendo molto il testo da scorrere vorrei che lasciando premuto il mouse sul pulsante continuasse a scorrere il testo...

    potete aiutarmi?

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,776
    Ciao

    Molto probabilmente se cerchi sul forum troverai diverse discussioni che trattano l'argomento.
    Comunque sia ti do qualche consiglio.

    Per una più facile stesura dello script è consigliato non inserire lo script direttamente sulle istanze ma piuttosto nominare le istanze e attribuirne i relativi gestori scrivendo tutto sui frame della timeline principale.

    Ti verrà sicuramente meglio gestire le varie parti perché avrai sempre sottocchio il quadro della situazione.

    Detto questo, ti consiglierei di risolvere nel modo seguente.
    Quello che ti serve è una funzione che si ripeta periodicamente, ad esempio un evento enterFrame oppure un setInterval.
    Io ho utilizzato il setInterval.
    Sullo stage principale (o dove preferisci) dovrai mettere il campo di testo ed istanziarlo, ad esempio, col nome "campotesto".
    Mentre i due pulsanti (senza nessuno script associato) dovrai istanziarli rispettivamente "p_su" e "p_giu".
    Infine dovrai inserire in un frame (nella root) questo script:

    Codice PHP:
    p_su.= -1;
    p_giu.1;
    scrolling 0;
    p_su.onPress p_giu.onPress=function () {
        
    campotesto.scroll += campotesto.s=this.s;
        
    scrolling setInterval(function () {
            
    campotesto.scroll += campotesto.s;
        }, 
    60);
    };
    p_su.onRelease p_su.onReleaseOutside=p_giu.onRelease=p_giu.onReleaseOutside=function () {
        
    clearInterval(scrolling);
    }; 
    Il funzionamento è abbastanza semplice.
    Inizialmente ho assegnato, ai due pulsanti, la variabile "s" in cui ho impostato un valore per l'incremento/decremento della funzione di scorrimento.

    Ho quindi inizializzato la variabile "scrolling" che sarà impostata in seguito come intervallo.

    All'evento onPress dei due pulsanti ho assegnato una funzione, all'interno della quale viene "passata", all'istanza campotesto, la variabile s che assumerà il valore di quella del pulsante premuto ( campotesto.s=this.s
    Contemporaneamente, nella stessa riga, lo scroll di campotesto viene incrementato, una prima volta, dello stesso valore di s (campotesto.scroll += campotesto.s)

    A questo punto la variabile "scrolling" viene impostata come intervallo che si ripeterà ogni 60 millesimi di secondo, richiamando la funzione dichiarata nello stesso setInterval.
    Tale funzione non fa altro che incrementare lo scroll (campotesto.scroll += campotesto.s del valore "s" passato precedentemente a campotesto.

    Infine ho impostato gli eventi onRelease ed onReleaseOutside dei due pulsanti in modo da cancellare l'intervallo creato (clearInterval(scrolling) quando si rilascia il pulsante premuto.

    Spero sia chiaro.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    grazie mille...
    ho provato e funziona tutto, sei stato molto preciso e chiaro nella tua spiagazione.
    di nuovo grazie.

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,776
    no problem
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

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