Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    aiuto per fermare scroll immagini

    ciao, avrei bisogno di una mano per fermare lo scroll che altriementi continua anche quando le immagini da mostrare sono finite...

    la pagina è questa ....

    il codice è questo:

    codice:
    var scrollDiv;
    var hDiv;
    var tClip;
    var bClip;
    var wClip;
    var interval;
    var topPos = 0;
    
    
    
    function initScroller(id) {
        scrollDiv = document.getElementById(id);   
        var margin = parseInt(scrollDiv.offsetTop);
        
        var scrollDiv__controls = document.getElementById(id + '__controls');
    
        /* Style per il div interno (testo) */
        scrollDiv.style.width    = (scrollDiv.parentNode.offsetWidth - (margin * 2)) - 24 + 'px';
        scrollDiv.style.height   = 'auto';
        scrollDiv.style.overflow = 'hidden';
        
        /* Style per il div esterno (contenitore) */
        scrollDiv.parentNode.style.overflow = 'hidden';
        
        /* Style per il div con i controlli (testo) */
        scrollDiv__controls.style.display = 'block';  
    
    
        /* Impostazioni per visualizzare la parte di testo superiore */
        hDiv  = scrollDiv.offsetHeight;
    
        tClip = 0;   
        wClip = scrollDiv.parentNode.offsetWidth - (margin * 2);
        bClip = scrollDiv.parentNode.offsetHeight - (margin * 2);
    
        scrollDiv.style.clip = 'rect('+ tClip +'px,'+ wClip +'px,'+ bClip +'px,0)';   
        // alert("tClip:"+tClip+"\nwClip:"+wClip+"\nbClip:"+bClip+"\n");
    }
    
    function scroll(scrollBy, time) {
        tClip += scrollBy;
        bClip += scrollBy;
        topPos -= scrollBy;
    
        
        if (tClip < 0 || bClip > hDiv) {
            tClip -= scrollBy;
            bClip -= scrollBy;
            topPos += scrollBy;    
        }
        
        
        scrollDiv.style.clip = 'rect('+ tClip +'px, '+ wClip +'px, '+ bClip +'px, 0)';   
        scrollDiv.style.top = topPos + 'px';    
        interval = setTimeout('scroll('+ scrollBy +', '+ time +')', time);
    }
    
    function stopScroll() {
        if (interval) clearTimeout(interval);
    }
    potete darmi una mano??
    grazie mille!!

  2. #2

    Re: aiuto per fermare scroll immagini

    Prova così
    codice:
    function scroll(scrollBy, time) {
        tClip += scrollBy;
        bClip += scrollBy;
        topPos -= scrollBy;
    
        
        if (tClip < 0 || bClip > hDiv) {
            tClip -= scrollBy;
            bClip -= scrollBy;
            topPos += scrollBy;    
        }
        
        
        scrollDiv.style.clip = 'rect('+ tClip +'px, '+ wClip +'px, '+ bClip +'px, 0)';   
        scrollDiv.style.top = topPos + 'px'; 
    
       '300 è un valore arbitrario dato da circa metà altezza del div contenitore
       if (topPos<300 && topPos>hDiv){
          interval = setTimeout('scroll('+ scrollBy +', '+ time +')', time);
       }else{
          stopScroll();
       }
    
    }

  3. #3
    ho provato, ma rimane bloccato senza scrollare. ho provato a mettere valori come 1000 e 10000 al posto del 300, ma niente...
    grazie lo stesso!

  4. #4
    prova così:

    if (topPos<300 && topPos>(hDiv*(-1))){

  5. #5
    stesso risultato
    puoi vedere tu stesso al link sopra...

  6. #6
    questa è la funzione che vedo pubblicata:
    codice:
    function scroll(scrollBy, time) {
        tClip += scrollBy;
        bClip += scrollBy;
        topPos -= scrollBy;
    
        
        if (tClip < 0 || bClip > hDiv) {
            tClip -= scrollBy;
            bClip -= scrollBy;
            topPos += scrollBy;    
        }
        
        
        scrollDiv.style.clip = 'rect('+ tClip +'px, '+ wClip +'px, '+ bClip +'px, 0)';   
        scrollDiv.style.top = topPos + 'px';    
        interval = setTimeout('scroll('+ scrollBy +', '+ time +')', time);
    
       //300 è un valore arbitrario dato da circa metà altezza del div contenitore
    	if (topPos<300 && topPos>(hDiv*(-1))){
    		interval = setTimeout('scroll('+ scrollBy +', '+ time +')', time);
    	}else{
    		stopScroll();
    	}
       
    }
    bisogna cancellare la riga immediatamente sopra al mio commento (//300 è....)
    firefox mi dice che "scrollDiv__Controls is null"

    quindi nella funzione initScroller la riga
    var scrollDiv__controls = document.getElementById(id + '__controls');
    diventa:
    var scrollDiv__controls = document.getElementById(id);


    riguardo il ciclo if che dovrebbe stoppare lo scroll:
    fai un tentativo con:
    if (topPos<300 && topPos>-hDiv){

  7. #7
    scusa....il sonno...

    ADESSO FUNZIONAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA!!!!!




    non ho parole, se non un grandissimo

    G R A Z I E ! ! ! ! !

  8. #8
    grazie, figurati

    controlla il pulsante "Down", a differenza del pulsant "Up" c'è un setTimeout che da' errore.


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.