Pagina 2 di 2 primaprima 1 2
Visualizzazione dei risultati da 11 a 14 su 14

Discussione: array e immagini

  1. #11
    Codice PHP:
    <head>
    <
    link href="style.css" rel="stylesheet" type="text/css"/>
    <
    script type="text/javascript">
    var 
    j;
    var 
    imgs;
    function 
    setup_zoom(){
        
    imgs=document.getElementById("gallery").getElementsByTagName("a");
        for (
    i=0;i<imgs.length;i++){
            
    imgs.item(i).i=i;
            
    imgs.item(i).onclick=function(){return zoomin(this.i);};
        }
    }
    function 
    zoomin(i){
        var 
    ii=i;
        
    div_image=document.getElementById("image");
        
    div_image.style.visibility="visible";
        
    div_image.style.position="absolute";
        
    div_image.style.top="200px";
        
    div_image.style.left="200px";
        if(
    imgs.length 1){
            
    rot=document.getElementById("rotate_image");
            
    rot.style.visibility="visible";
        }
        
    j=i;
        
    putimage(ii);
        return 
    false;
    }
    function 
    zoomout(){
        
    div_image=document.getElementById("image");
        
    div_image.style.visibility="hidden";
        
    rot=document.getElementById("rotate_image");
        
    rot.style.visibility="hidden";
    return 
    false;
    }
    function 
    putimage(i){
    zoommata.src=imgs[i].getAttribute("href");
    }
    function 
    nextback(c){    
        switch(
    c){
            case 
    1:
                if(
    j>0){
                    
    j--;
                    
    putimage(j);
                }
                break;
            case 
    2:
                if(
    j<(imgs.length-1)){
                    
    j++;
                    
    putimage(j);
                }
                break;
        }
    }
    </script>
    </head>
    <body onload="setup_zoom()">
        <h1>GALLERIA</h1>
        <div id="gallery">
            [url="image1.jpg"][img]th-image1.jpg[/img][/url]
            [url="image2.jpg"][img]th-image2.jpg[/img][/url]
            [url="image3.jpg"][img]th-image3.jpg[/img][/url]
            [url="image4.jpg"][img]th-image4.jpg[/img][/url]
            [url="image5.jpg"][img]th-image5.jpg[/img][/url]
        </div>
        



        <div id="image">
            <div id="image_zoomed">[img][/img]</div>
            <div id="rotate_image">[img]r4.gif[/img][img]r2.gif[/img]</div>
        </div>
    </body>
    </html> 

  2. #12
    perfetto ora funziona a dovere, ma quello che ha fatto la differenza è questo:
    codice:
    imgs.item(i).i=i;
    imgs.item(i).onclick=function(){return zoomin(this.i);};
    mi spieghi perchè? giusto per essere consapevole di quello che scrivo. grazie
    Marco

  3. #13
    Anche in javascript le variabili hanno un loro ambito.
    Puoi pensare che in quell'assegnazione tu stia assegnando all'"onclick" una funzione che utilizzi la "i" che in quel momento viene elaborata, ma la "i" in questione verrà elaborata solo successivamente per il valore che avrà nel momento in cui l'evento si verificherà.
    Visto che ne abbiamo iterato il valore in un ciclo for questa assumerà sempre il valore 5!
    Cosa ho fatto?
    Ho assegnato ad ogni elemento imgs.item(i) una proprietà "personalizzata" i e gli ho assegnato il valore che nel momento dell'assegnazione aveva, appunto, la variabile "i".
    Nella gestione degli eventi "this" ritorna sempre l'elemento, pertanto this.i ritornerà il valore che abbiamo assegnato ad ogni item di "imgs".

  4. #14
    ora è mi è chairo, grazie mille per l'aiuto.

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.