333 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
2.190 messaggi dal 04 marzo 2004
Contributi | Blog
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 (WinRTItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer
333 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 -
2.190 messaggi dal 04 marzo 2004
Contributi | Blog
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 (WinRTItalia.com)
.NET Developer, Interactive Designer, UX Specialist, Trainer
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.