319 messaggi dal 05 agosto 2005
Ciao a tutti,

Ho un problema veloce. In una webform ho piazzato n asp:Image che caricano in maniera dinamica foto ad alta risoluzione. Vorrei piazzare sopra ad ognuna di queste il classico waiting GIF animato, fino a quando l'immagine è completamente caricata.

Come faccio?

Grazie in anticipo

Marco
mbizzaro wrote:
Ciao a tutti,

Ho un problema veloce. In una webform ho piazzato n asp mage che caricano in maniera dinamica foto ad alta risoluzione. Vorrei piazzare sopra ad ognuna di queste il classico waiting GIF animato, fino a quando l'immagine è completamente caricata.

Come faccio?

Grazie in anticipo

Marco
Potresti gestire l'evento onload dell'immagine con javascript http://www.w3schools.com/jsref/jsref_onload.asp

Alessio Leoncini (SilverlightItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer @ 5DLabs.it
319 messaggi dal 05 agosto 2005
Ciao, ho un grosso problema. Io utilizzo una Masterpage. Se piazzo la nell'<head> lo


<script type="text/javascript">
function load()
{
window.status="Page is loaded";
}
</script>

e poi nella webform, nell'immagine aggiungo:

<asp:Image ID="Image1" runat="server" Width="250px" ImageUrl='<%# "~/Image/" + DataBinder.Eval(Container.DataItem, "imgCode") + "/" + DataBinder.Eval(Container.DataItem, "imgCode") + "_Preview" + ".jpg" %>' onload="load()" />

mi da quest'errore:

BC32022: 'Public Event Load(sender As Object, e As System.EventArgs)' is an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.

o

BC30456: 'load' is not a member of 'ASP.test_12_11_2008_aspx'
Modificato da mbizzaro il 13 novembre 2008 15.13 -
319 messaggi dal 05 agosto 2005
Nessuna idea?
Prova a controllare periodicamente l'altezza dell'oggetto immagine durante il caricamento, quando l'altezza è superiore ad un valore minino significa che l'immafine è realmente caricata:
<asp:Image runat="server" ID="img1" ImageUrl="clientbin/a.bmp" />

<script type="text/javascript">
    var img01 = document.getElementById('img1');
    img01.load = Img_loaded();

    function Img_loaded() {
        //alert('oggetto ' + img01.src + ' caricato');
    }

    var interv = setInterval(Img_ctrl, 100);
    function Img_ctrl() {
        if (img01.height > 10) {
            clearInterval(interv);
            alert("immagine caricata");
        }
    }
</script>

Alessio Leoncini (SilverlightItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer @ 5DLabs.it
69 messaggi dal 20 gennaio 2006
www.jntstudio.net
Potresti anche semplificare moltissimo risolvendo il problema con CSS
attribuisci una classe CSS alle immagini in questo modo più o meno

<img src="" class="imagewithpreloader" />

poi disegni la tua gif animata ad esempio preloader.gif

poi attraverso CSS la piazzi come sfondo dell'immagine in modo che sia visualizzato prima dell'immagine... più o meno come segue:

#imagewithpreloader { background-image:url(images/preloader.gif); background-position:center; }

Sto facendo una cosa del genere qui: http://www.stampotutto.com per una tipografia OnLine

JackNova (Dario Iacampo)
69 messaggi dal 20 gennaio 2006
www.jntstudio.net
Oppure in alternativa c'è un sistema già pronto e semplice da usare che si chiama fancybox e che ho usato per le gallerie di immagini di questo sito per un Pub http://www.gandalfpub.it/Foto.aspx#start Semplice Javascript

JackNova (Dario Iacampo)

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.