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

    IE Creare immagine con JS

    Ciao,
    sto impazzendo senza capire il perchè!

    Vi mostro il mio scirpt:

    Codice PHP:
    <html>

    <
    script>
    function 
    a()
        {
        
    //CREO LA PRIMA LISTA
        
    T_list=document.createElement("ul");
            
    T_list.setAttribute("id","");
            
    document.getElementById("TOOLBAR_container").appendChild(T_list);    
        
        
    //CARICO LA PRIMA FRACCIA CONTENUTA NELLA CARTELLA
        
    ButtonSX=document.createElement("li");
            
    ButtonSX.setAttribute("id","ButtonSX");    
            
    //CREO IL LINK DELLA FRECCIA
            
    aSx=document.createElement("a");
                
    NewIconSx=document.createElement('IMG');
                    
                    
    NewIconSx.src="/Arrow-Left.png";        
                    
                    
    //NewIconSx.src="/Icons/arrows/Arrow-Left.png";
                    
                    
    aSx.appendChild(NewIconSx);
            
    ButtonSX.appendChild(aSx);    
            
    aSx.href="javascript: void(0);";
            
    aSx.onclick=function(){alert("sx");}
            
    NewIconSx.style.border=0;

        
    T_list.appendChild(ButtonSX);    
        
        }
    </script>
    <body onload="a();">
    <div id="TOOLBAR_container">
    </div>
    </body>
    </html> 
    L'immagine se la potete vedere qui . lo script deve creare un lista non ordinata (UL) e creare i vari LI con all'interno un'immagine..fino qua tutto bene.

    PROBLEMA:Se l'immagine la inserisco in un percorso di sottocartelle (NewIconSx.src="/Icons/arrows/Arrow-Left.png") questa mi viene mostrata enorme (256x256), questo accade solo IE (Ver.7.0.5730.13)

    Con Firefox non accade minimamente...a volte (ingoro il motivo) continuanto con F5 in continuazione..mi mostra l'immagine con un solo lato delle dimensioni corrette...deduco sia un bel BUG di IE (tanto per cambiare )...ma a qualcuno è mai capitato o ha qualche suggerimento? (devo poter mettere tutte le immagini in cartelle separate)

  2. #2
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    non saprei che risponderti ma ho una domandina...se tu la vuoi piccola perchè ce l'hai così grande?

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  3. #3
    l'immagine reale ha dimensioni 160x135...e poi IE che la trasforma in 256x256..sul server è 160x135 la sua dimensione..

  4. #4
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    Originariamente inviato da lbottoni
    l'immagine reale ha dimensioni 160x135...e poi IE che la trasforma in 256x256..sul server è 160x135 la sua dimensione..
    uh mamma mia...e come mai? forse hai specificato qualcos'altro nel css oppure in un altro js...

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  5. #5
    tutto il codice che ho messo è quello che c'è....se metto un alert che mi dice le dimensioni ho che su IE (Con sottocartelle) l'immagine è 256x256 se la metto nella root è 160x135

    credo che ci sia qualche cosa sull'immagine png...ho da parte di IE o della stessa immagine. Ho provato a richiamare un'altra immagine sempre di 160x135 nella stessa cartella...questa è visualizzata correttamente, ma il messaggio Js mi dice che le sue dimensioni in IE sono 28x30

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ma tu per questo debug quando richiedi le dimensioni delle immagini?
    se lo fai in tempo reale non e' detto l' immagine sia disponibile per restituirti dimensioni affidabili,
    per esempio IE potrebbe restituirti quel 28*30 quando non ha ancora a disposizione l' immagine, come nel caso di un' immagine non trovata

    a maggior ragione se hai immediatamente le dimensioni disponibili l' immagine viene ripescata dalla cache, che puo' essere una cosa buona o meno, a seconda dei punti di vista

    per tornare allo script iniziale, tu non setti mai le dimensioni delle immagini, mentre sarebbe il caso di farlo

  7. #7
    Si, in effetti quando l'immagine è stata caricata ho riprovato più volte ed è stata mostrata con le dimensioni reali (ho settato anche le dimesioni).

    x Le dimensioni:Le settavo, ma utilizzando gli style in line (sempre tramite Js), questa volta ho usato direttamente oggetto.proprietà=valore.


    Ora sembra che funzioni..spero, perchè mi ha fatto perdere un sacco di tempo per una piccolezza così....x le dimensioni...esiste un metodo (onload?) che mi dice se l'immagine è stata caricata?

  8. #8
    Utente di HTML.it L'avatar di oronze
    Registrato dal
    Jun 2001
    Messaggi
    3,543
    <body onload="codice">
    il codice viene eseguito quando il caricamento è stato completato

    No ai layout tabellari!

    Insulto libero: http://forum.html.it/forum/showthread.php?s=&postid=12524872#post12524872

  9. #9
    No, mi sono spiegato male...la funzione è già eseguita all'evento onload del body, poi tale funzione richiama le immagini generandole con DOM, devo quindi all'interno della funzione eseguire il richiamo all'immagine ed eseguire l'appendChild solo quando questa è caricata.

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.