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

    Swap d'immagini --- come convertire i parametri in stringhe?

    Buongiorno a tutti.
    Su un sito internet che devo realizzare ho quattro immagini:

    home.gif
    contatti.gif
    offerte.gif
    webmaster.gif

    linkate alle omonime pagine (es: cliccando home.gif si è collegati a home.htm),
    e altre 8 GIF che devono sostituire le 4 sopraelencate rispettivamente al passaggio del mouse e all'evento onmousedown:

    onmouseover:
    -------------------
    home_hover.gif
    contatti_hover.gif
    offerte_hover.gif
    webmaster_hover.gif

    onmousedown:
    -------------------
    home_sel.gif
    contatti_sel.gif
    offerte_sel.gif
    webmaster_sel.gif

    Ho poi scritto queste cinque funzioni:

    function over(l)
    {
    l.src='images/'+l+'_hover.gif';
    status=l;
    return true;
    }

    function down(l)
    {
    l.src='images/'+l+'_sel.gif';
    status=l;
    return true;
    }

    function up(l)
    {
    l.src='images/'+l+'_hover.gif';
    status=l;
    return true;
    }

    function out(l)
    {
    l.src='images/'+l+'.gif';
    return true;
    }

    function click(l)
    {
    document.open(l+'.htm','main');
    }

    che richiamo, dalla pagina, con il seguente codice:

    <a onmouseover="over(home);" onmousedown="down(home);" onmouseup="up(home);" onmouseout="out(home);" onclick="click(home);">
    [img]images/home.gif[/img]</a>


    <a onmouseover="over(contatti);" onmousedown="down(contatti);" onmouseup="up(contatti);" onmouseout="out(contatti);" onclick="click(contatti);">
    [img]images/contatti.gif[/img]</a>


    <a onmouseover="over(offerte);" onmousedown="down(offerte);" onmouseup="up(offerte);" onmouseout="out(offerte);" onclick="click(offerte);">
    [img]images/offerte.gif[/img]</a>


    <a onmouseover="over(webmaster);" onmousedown="down(webmaster);" onmouseup="up(webmaster);" onmouseout="out(webmaster);" onclick="click(webmaster);">
    [img]images/webmaster.gif[/img]</a>


    Che però non mi funziona. Dove sbaglio? Suppongo che sia per via del fatto che il parametro l, che passo di volta in volta alle diverse funzioni, si riferisca al nome dell'oggetto-imagine che voglio cambiare, ma che non possa utilizzarlo come stringa in questo modo: 'images/'+l+'.gif'
    A meno che, ovviamente, non ci sia un modo per estrapolare l'informazione sul *nome* del parametro e memorizzarlo in una stringa; se passo home al parametro l, vorrei una stringa s = "home" da usare nella funzione (anche per modificare, temporaneamente, la scritta sulla barra di stato).
    Non saprei come fare, non ho molta dimestichezza con java, anzi sono proprio alle primissime armi...
    Chi mi sa aiutare? Ringrazio tutti anticipatamente!

    Andrea
    P.S. Dimenticavo che la quinta funzione serve ad aprire la pagina passata come argomento nel frame 'main'; è scritta giusta? È l'equivalente di:

    window.open(url,frame)

    ?
    Don't know what I want, but I know how to get it...

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Riporto solo un pezzetto del codice
    function out(l)
    {
    l.src='images/'+l+'.gif';
    return true;
    }

    function click(l)
    {
    document.open(l+'.htm','main');
    }

    che richiamo, dalla pagina, con il seguente codice:

    <a onmouseover="over(home);" onmousedown="down(home);" onmouseup="up(home);" onmouseout="out(home);" onclick="click(home);">
    [img]images/home.gif[/img]</a>
    Correzione:
    codice:
    function out(l) 
    { 
    document.getElementById(l).src='images/'+l+'.gif'; 
    } 
    function f_click(l) 
    { 
    window.open(l+'.htm','main'); 
    }
    ...
    <a onmouseover="over('home');" onmousedown="down('home');" onmouseup="up('home');" onmouseout="out('home');" onclick="f_click('home');"> 
    [img]images/home.gif[/img]</a>
    Dalla differenza pui dedurre gli errori.
    Pero' ci vedrei un bel preload delle immagini

    ciao
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    Preload d'immagini? Ovvero?
    come mai hai rinominato la funzione "click(l)" in "f_click(l)"? "Click" è un nome "riservato"?
    Grazie mille per l'aiuto, ora provo se funziona!

    Andrea
    Don't know what I want, but I know how to get it...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.