Visualizzazione dei risultati da 1 a 7 su 7

Discussione: scroller immagini

  1. #1
    Utente di HTML.it L'avatar di liana79
    Registrato dal
    Feb 2003
    Messaggi
    314

    scroller immagini

    Ciao ho questo script con cui riesco a fare uno scrolling di immagini, ma non riesco a modificarlo..
    Vorrei riuscire che giri in continuazione senza spazio bianco....non so se riesco a farmi capire...insomma mentre ruota, una volta finite le immagini continua a girare ma lascia uno grande spazio bianco e poi riparte....

    posto il codice..ne ho tantissimo bisogno se per faore riuscite ad aiutarmi...

    <script type="text/javascript">
    var scrollspeed=cache=2
    var initialdelay=500

    function initializeScroller(){
    dataobj=document.all? document.all.datacontainer : document.getElementById("datacontainer")
    dataobj.style.left="10px"
    setTimeout("getdataheight()", initialdelay)
    }


    function getdataheight(){
    thelength=dataobj.offsetWidth
    if (thelength==0)
    setTimeout("getdataheight()",10)
    else
    scrollDiv()
    }

    function scrollDiv(){
    dataobj.style.left=parseInt(dataobj.style.left)-scrollspeed+"px"
    if (parseInt(dataobj.style.left)<thelength*(-1))
    dataobj.style.left="10px"
    setTimeout("scrollDiv()",40)
    }


    if (window.addEventListener)
    window.addEventListener("load", initializeScroller, false)
    else if (window.attachEvent)
    window.attachEvent("onload", initializeScroller)
    else
    window.onload=initializeScroller

    </script>

    le immagini invece vanno inserite in questo div :
    <div id="datacontainer" style="position:absolute;left:1px;top:1px;width:10 0%" onMouseover="scrollspeed=0" onMouseout="scrollspeed=cache">

    immagini...

    </div>

    se magari avete un'altro script che faccia al mio caso e potreste passarmelo....
    grazie mille Lia
    Ci sono solo due modi per vivere la vita.
    Uno è come se niente fosse un miracolo.
    L'altro è come se tutto fosse un miracolo

  2. #2

  3. #3
    Utente di HTML.it L'avatar di liana79
    Registrato dal
    Feb 2003
    Messaggi
    314
    grazie, ho letto e provato il codice dell'altro post..alla fine però, oltre il fatto che lo scroll che si usa va in verticale....cmq dopo aver caricato le immagini ho uno grande spazio bianco e poi ripartono...
    E un sacco di tempo che provo a trovare la soluzione per questo problema ..ma niente da fare......non ci riesco

    grazie cmq

    ciao Lia
    Ci sono solo due modi per vivere la vita.
    Uno è come se niente fosse un miracolo.
    L'altro è come se tutto fosse un miracolo

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2001
    Messaggi
    21,188
    Premetto che non ho guardato il tuo link, ma per fare uno scroll, si impostano di solito due <div>, con quello interno piu` lungo di quello esterno, poi si da` un offset a quello interno e tale ofset viene cambiato nel tempo.

    Immagina due cartoni rigidi uno con un foro (il div esterno) ed uno lungo, di cui si vede un pezzo attraverso il foro.

    Quando sei arrivata alla fine dello scroll, devi spostare il cartone lungo in modo da far apparire l'inizio.

    Per cui non e` possibile "cucire" la fine con l'inizio, come faresti se avessi un nastro (flessibile).

    Per uno scroll continuo potresti tagliare il tuo cartone lungo e spostare i due (o piu`) pezzi in modo da simulare lo scorrimento continuo (come se fosse un nastro), ma questo comporta un codice molto piu` complesso.
    Nuova politica di maggiore severita` sui titoli delle discussioni: (ri)leggete il regolamento
    No domande tecniche in messaggi privati

  5. #5
    Utente di HTML.it L'avatar di liana79
    Registrato dal
    Feb 2003
    Messaggi
    314
    risposta bellissima, grazie...giustamente hai ragione, infatti quello che vorrei fare io è simulare lo scorrimento continuo.
    Non ho utilizzato due div perché quel codice l'ho inserisco all'interno di un'altra pagina con un <iframe>, probabilmente non è il modo migliore ma...per ora funziona cosi.

    In più non riesco nemmeno a calcolare la lunghezza delle immagini perché vengono caricate dinamicamente da un db.

    Hai per caso un'esempio di un codice + complesso che fa al mio caso???

    Io in javascript so fare delle cose molto banali...lo sempre usato esclusivamente per controlli ecc. e poche volte per cose diverse aiutandomi con dei script trovati in rete e magari modificandoli fino ad un certo punto...visto le mie conoscenze...

    Lia
    Ci sono solo due modi per vivere la vita.
    Uno è come se niente fosse un miracolo.
    L'altro è come se tutto fosse un miracolo

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da liana79
    risposta bellissima, grazie...giustamente hai ragione, infatti quello che vorrei fare io è simulare lo scorrimento continuo.
    Non ho utilizzato due div perché quel codice l'ho inserisco all'interno di un'altra pagina con un <iframe>, probabilmente non è il modo migliore ma...per ora funziona cosi.

    In più non riesco nemmeno a calcolare la lunghezza delle immagini perché vengono caricate dinamicamente da un db.

    Hai per caso un'esempio di un codice + complesso che fa al mio caso???

    Io in javascript so fare delle cose molto banali...lo sempre usato esclusivamente per controlli ecc. e poche volte per cose diverse aiutandomi con dei script trovati in rete e magari modificandoli fino ad un certo punto...visto le mie conoscenze...

    Lia
    Non so se questo può fare al caso tuo.
    codice:
    <script language="JavaScript1.2">
    
    /*
    Cross browser Marquee II- © Dynamic Drive (www.dynamicdrive.com)
    For full source code, 100's more DHTML scripts, and TOS, visit http://www.dynamicdrive.com
    Credit MUST stay intact
    */
    
    //Specify the marquee's width (in pixels)
    var marqueewidth="200px"
    //Specify the marquee's height
    var marqueeheight="50px"
    //Specify the marquee's marquee speed (larger is faster 1-10)
    var marqueespeed=2
    //Pause marquee onMousever (0=no. 1=yes)?
    var pauseit=1
    
    //Specify the marquee's content
    //Keep all content on ONE line, and backslash any single quotations (ie: that\'s great):
    
    var marqueecontent='[img]faccine/026.gif[/img]
    [img]faccine/fa98.gif[/img]'
    
    
    ////NO NEED TO EDIT BELOW THIS LINE////////////
    
    marqueespeed=(document.all)? marqueespeed : Math.max(1, marqueespeed-1) //slow speed down by 1 for NS
    var copyspeed=marqueespeed
    var pausespeed=(pauseit==0)? copyspeed: 0
    var iedom=document.all||document.getElementById
    var actualheight=''
    var cross_marquee, ns_marquee
    
    function populate(){
    if (iedom){
    cross_marquee=document.getElementById? document.getElementById("iemarquee") : document.all.iemarquee
    cross_marquee.style.top=parseInt(marqueeheight)+8+"px"
    cross_marquee.innerHTML=marqueecontent
    actualheight=cross_marquee.offsetHeight
    }
    else if (document.layers){
    ns_marquee=document.ns_marquee.document.ns_marquee2
    ns_marquee.top=parseInt(marqueeheight)+8
    ns_marquee.document.write(marqueecontent)
    ns_marquee.document.close()
    actualheight=ns_marquee.document.height
    }
    lefttime=setInterval("scrollmarquee()",20)
    }
    window.onload=populate
    
    function scrollmarquee(){
    
    if (iedom){
    if (parseInt(cross_marquee.style.top)>(actualheight*(-1)+8))
    cross_marquee.style.top=parseInt(cross_marquee.style.top)-copyspeed+"px"
    else
    cross_marquee.style.top=parseInt(marqueeheight)+8+"px"
    }
    else if (document.layers){
    if (ns_marquee.top>(actualheight*(-1)+8))
    ns_marquee.top-=copyspeed
    else
    ns_marquee.top=parseInt(marqueeheight)+8
    }
    }
    
    if (iedom||document.layers){
    with (document){
    if (iedom){
    write('<div style="position:relative;width:'+marqueewidth+';height:'+marqueeheight+';overflow:hidden" onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed">')
    write('<div id="iemarquee" style="position:absolute;left:0px;top:0px;width:100%;">')
    write('</div></div>')
    }
    else if (document.layers){
    write('<ilayer width='+marqueewidth+' height='+marqueeheight+' name="ns_marquee">')
    write('<layer name="ns_marquee2" width='+marqueewidth+' height='+marqueeheight+' left=0 top=0 onMouseover="copyspeed=pausespeed" onMouseout="copyspeed=marqueespeed"></layer>')
    write('</ilayer>')
    }
    }
    }
    </script>
    Ciao
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it L'avatar di liana79
    Registrato dal
    Feb 2003
    Messaggi
    314
    grazie, provo...

    ciao Lia
    Ci sono solo due modi per vivere la vita.
    Uno è come se niente fosse un miracolo.
    L'altro è come se tutto fosse un miracolo

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.