Visualizzazione dei risultati da 1 a 7 su 7

Discussione: Slide CSS+Javascript

  1. #1

    Slide CSS+Javascript

    Bonjour!
    Ho cercato di personalizzare un codice JS trovato online per uno slide di immagini.
    Le modifiche che ho apportato hanno la finalità di utilizzare lo stesso codice per due slide diverse presenti nella stessa pagina, quindi rendere dinamico l'array che contiene le varie immagini e il DIV dove scorrono. Tuttavia non sono molto pratica in JS e non riesco a farlo funzionare.

    Ecco il codice:

    Codice PHP:
    <script type="text/javascript">
    function 
    creArray(stringa,mylay)
    {
    var 
    images stringa.split( /,/);
    var 
    nextImage 1;
    var 
    imageWidth 500;
    var 
    imageHeight 250;
    var 
    imageTimeout 1500;
    pageLoad(mylay);
    }

    function 
    setOpacity(elopacity) {
        
    //  Which opacity method does this browser support?
        
    opacity /= 100;
        
    el.style.opacity opacity;
        
    el.style.MozOpacity opacity;
        
    el.style.filter "alpha(opacity=" + (opacity*100) + ")";
    }

    function 
    fadeImage(elcurrentOpacity) {
        
    currentOpacity += 5;
        if (
    currentOpacity 100) {
            
    setOpacity(el100);
            var 
    prevEl el.previousSibling el.previousSibling el.parentNode.lastChild;
            
    prevEl.style.visibility 'hidden';
            
    el.style.zIndex 1;
            
    window.setTimeout(startFadingimageTimeout);
        }
        else {
            
    setOpacity(elcurrentOpacity);
            
    window.setTimeout(function() { fadeImage(elcurrentOpacity); }, 50);
        }
    }

    function 
    startFading(mylay) {
        var 
    el document.getElementById(mylay).childNodes[nextImage];
        
    el.style.visibility 'visible';
        
    el.style.zIndex 2;
        
    setOpacity(el0);
        
    fadeImage(el,0);
        
    nextImage = (nextImage images.length-1) ? nextImage 0;
    }

    function 
    pageLoad(mylay) {
        var 
    el document.getElementById(mylay);
        while (
    el.firstChild) { el.removeChild(el.firstChild); }
        
    el.style.width imageWidth 'px';
        
    el.style.height imageHeight 'px';
        for(var 
    i=0i<images.lengthi++) {
            var 
    document.createElement('IMG');
            
    t.setAttribute('src',images[i]);
            
    t.setAttribute('width',imageWidth);
            
    t.setAttribute('height',imageHeight);
            
    t.style.position 'absolute';
            
    t.style.visibility 'hidden';
            
    el.appendChild(t);
        }
        
    el.firstChild.style.visibility 'visible';
        
    window.setTimeout(startFading(mylay), imageTimeout);
    }

    window.onload creArray('prova1.jpg,prova2.jpg,prova3.jpg,prova4.jpg','livello1');
    </script> 
    Se apro la CONSOLE di FF, ricevo errore alla riga:
    Codice PHP:
    while (el.firstChild) { el.removeChild(el.firstChild); }

    Erroreel has no properties
    Riga
    68 
    Sicuramente c'è qualcosa che non va nella mia sintassi, dove sbaglio?
    :master:
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  2. #2
    com'è il codice HTML della tua pagina?

  3. #3
    Ciao Artorius!
    Avevo omesso il codice perchè è davvero semplissimo, ho un paio di proprietà CSS per il DIV:
    Codice PHP:
    <style>
    #livello1 {
      
    width500px;
      
    height250px;
    }
    </
    style
    E poi ho il DIV con l'immagine di partenza:
    Codice PHP:
    <div id="livello1">
      [
    img]prova1.jpg[/img]
    </
    div
    Nient'altro.
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  4. #4
    Senti prova a metterlo così:

    Codice PHP:
    window.onload = function(){creArray('prova1.jpg,prova2.jpg,prova3.jpg,prova4.jpg','livello1'); } 

  5. #5
    Niente da fare, ricevo un errore alla riga successiva:

    Codice PHP:
    ErroreimageWidth is not defined
    Riga
    69 
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

  6. #6
    Se definisci con var imageWidth in una funzione quelle variabili saranno accessibili solo allo scope di quella funzione non alla window.

    Devi fare :
    Codice PHP:
    var imagesnextImageimageWidthimageHeightimageTimeout;

    function 
    creArray(stringa,mylay)
    {
       
    images stringa.split( /,/);
       
    nextImage 1;
       
    imageWidth 500;
       
    imageHeight 250;
       
    imageTimeout 1500;
       
    pageLoad(mylay);


  7. #7
    Ciao Artorius, grazie della pazienza e delle illuminazioni!!!!
    Ho fatto la modifica che mi hai suggerito ma ancora non va....

    Adesso effettua il cambio dall'immagine 1 alla 2 (è già qualcosa!!!!) e poi si ferma, gli errori sono qua:

    Codice PHP:
    window.setTimeout(startFading(mylay), imageTimeout);
    Erroreuseless setTimeout call (missing quotes around argument?)


    var 
    el document.getElementById(mylay).childNodes[nextImage];
    Erroredocument.getElementById(mylayhas no properties 
    Forse sbaglio a passare il nome del livello ("mylay") tra le varie funzioni??
    Sto ancora imparando.... Chiedo comprensione!
    !...Send ME a message...!

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.