Visualizzazione risultati 1 fino 14 di 14

Discussione: Linkare un'immagine random

  1. #1
    Guest

    Question Linkare un'immagine random

    Ciao,
    io ho questo script:
    <script language="JavaScript">
    var j,d="",l="",m="",p="",q="",z="",KW_ARI= new Array()
    KW_ARI[KW_ARI.length]='Immagini/img1.gif';
    KW_ARI[KW_ARI.length]='Immagini/img2.gif';
    KW_ARI[KW_ARI.length]='Immagini/img3.gif';
    KW_ARI[KW_ARI.length]='Immagini/img4.jpg';
    KW_ARI[KW_ARI.length]='Immagini/img5.gif';
    KW_ARI[KW_ARI.length]='Immagini/img6.gif';
    KW_ARI[KW_ARI.length]='Immagini/img7.gif';
    KW_ARI[KW_ARI.length]='Immagini/img8.gif';
    KW_ARI[KW_ARI.length]='Immagini/img9.jpg';
    KW_ARI[KW_ARI.length]='Immagini/img10.gif';
    KW_ARI[KW_ARI.length]='Immagini/img11.gif';
    KW_ARI[KW_ARI.length]='Immagini/img12.gif';
    KW_ARI[KW_ARI.length]='Immagini/img13.gif';
    j=parseInt(Math.random()*KW_ARI.length);
    j=(isNaN(j))?0:j; document.write("<img src='"+KW_ARI[j]+"'>");
    </script>
    Che genera immagini random,però non ho capito come si possa fare in modo che le immagini possano essere linkate.
    Ciao
    Ultima modifica di PSW : 29-12-2005 alle ore 21.37.37

  2. #2
    Guest

    Talking

    In che senso che possano essere linkate?? Beh, se ho capito bene vorresti linkare ad altri un'immagine random? Beh, innanzitutto devi mettere tutte le immagini nella cartella che fa vedere dall'esterno le img, poi io ti consiglio il PHP:

    PAGINA main.php
    Codice PHP:
    <?$num=rand(1,3);
    include (
    "img".$num.".php");?>
    PAGINA img1.php
    Codice PHP:
    <img src="Immagini/img1.gif>
    e così fino a img3.php se vuoi aumentare il numero ti basta modificare

    <?$num=rand(1,3);

    Ti basterà linkare main.php e avrai lì le immagini random o così credo.

    Ciauz!

  3. #3
    Guest

    Predefinito

    No,io intendo,per esempio img3 se viene cliccato indicizza a www.google.it ,se invece clicco su img5 indicizza a www.yahoo.it ,ecc.......

  4. #4
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Visto che ti interessava in javascript ecco la mia modifica
    (rifatto da zero praticamente, faceva pena quel codice, senza offesa per nessuno ):
    Codice HTML:
    <script language="Javascript" type="text/javascript">
    	var rnd_urls = new Array('www.google.it', 'www.peppe.com', 'www.pippo.it');
    	var imgs_base = '/Immagini/img'; //percorso e nome base
    	var imgs_ext = '.gif'; //estensione comune
    	var j = parseInt(Math.random()*rnd_urls.length);
    	document.write('<a href="http://'+rnd_urls[j]+'" target="_blank"><img src="'+imgs_base+(j+1)+imgs_ext+'" border="0"></a>');
    </script>
    Dunque come hai visto la schifezza ripetitiva del codice che avevi era che si perdevano un sacco di righe per i nomi di immagini (che poi erano cmq img1, img2..)
    dunque in quest'altro si punta su un array SOLO per gli URL dei link... poi di riflesso, dinamicamente, si dà per scontato che se aggiungi un 4' elemento, lo script si aspetta di trovare un'immagine come specificato nel percorso indicato dalla var. imgs_base
    cioè DEVE trovare in tuosito/Immagini/img4.gif
    L'unica limitazione appunto sta nel fatto che per non incasinarsi anche con gli url delle immagini si aspetta di trovarle tutte con propietà comuni (tutte sotto una stessa cartella, tutte con nome "img<n>" e con estensione .gif . Se cambi questi parametri cambiano per tutti ovviamente.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  5. #5
    L'avatar di dementialsite
    dementialsite non è connesso Super Moderatore
    Data registrazione
    19-10-2004
    Residenza
    fuori Padova
    Messaggi
    5,046

    Predefinito

    Citazione Originalmente inviato da heracleum
    ... L'unica limitazione appunto sta nel fatto che per non incasinarsi anche con gli url delle immagini si aspetta di trovarle tutte con propietà comuni (tutte sotto una stessa cartella, tutte con nome "img<n>" e con estensione .gif . Se cambi questi parametri cambiano per tutti ovviamente.
    Puoi risolvere questo problema con una piccola modifica allo script:
    Codice HTML:
    <script language="Javascript" type="text/javascript">
       var rnd_urls = new Array('www.google.it', 'www.peppe.com', 'www.pippo.it');
       var rnd_img = new Array ('img/google.gif', 'images/peppe.jpg', 'immagini/pippo.png');
       var j = parseInt(Math.random()*rnd_urls.length);
       document.write('<a href="http://'+rnd_urls[j]+'" target="_blank"><img src="'+rnd_img[j]+'" border="0"></a>');
    </script>
    Statemi bene...
    Le questioni tecniche hanno risposte migliori nel forum pubblico, non trovi?

    When you don't know your next step... improvise

    ALTERVISTA WANTS YOU!
    Vuoi diventare moderatore su AlterVista? Scopri come...

  6. #6
    Guest

    Predefinito

    Però siccome quel tag che postai all'inizio non mi ha mai dato problemi e poi perchè l'ho già inserito in quasi tutte le pagine volevo solo sapere come si potesse fare per dare un link diverso per ogni immagine.

  7. #7
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    dementialsite:
    ah sì certo, ma visto che le img erano tutte numerate mi sembrava noioso creare un array anche per loro, o meglio per me non l'avrei MAI fatto.. ma in effetti hai fatto benissimo a postare anche quella versione gli potrebbe interessare

    PSW:
    eh ma.. molti script non danno problemi ma sono comunque scritti malissimo ci vuole poco a far funzionare le cose pur scrivendo codice non ottimizzato.
    Ma se vuoi i link devi NECESSARIAMENTE cambiare anche lo script.. non c'è storia!
    Usa la versione di dementialsite che ha mantenuto anche gli url delle immagini in un array a parte.
    Ti chiederai: "ma perché non ha lasciato inalterata la parte originale?" perché veramente non se poteva vede' scritta con i piedi, da chi non sa usare gli array javascript, molto flessibili, ed è una bestemmia aggiungere elementi in quel modo primitivo.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  8. #8
    L'avatar di ilvecchiofumetto
    ilvecchiofumetto non è connesso Utente attivo
    Data registrazione
    21-06-2005
    Residenza
    Firenze
    Messaggi
    298

    Predefinito

    Piccola nota: visto che hai messo il codice in molte pagine, ti conviene creare un file .js chiamato ad es. "img.js" in cui metti il codice di heracleum o di demential, e poi lo richiami nelle pagine che vuoi così:
    Codice HTML:
    <script language="javascript" type="text/javascript" src="img.js">
    <!--
    --->
    </script>
    Ciao!!
    E' OnLine la nuova versione del sito!! Clicca qui

  9. #9
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Giusta osservazione,
    però io toglierei il commento html <!-- --> al "nulla"
    Spiego meglio, visto che non c'è codice javascript nel blocco toglierei il commento, a maggior ragione visto che il codice sta nel file js.
    Quindi:
    Codice:
    <script language="javascript" type="text/javascript" src="img.js"></script>
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

  10. #10
    L'avatar di ilvecchiofumetto
    ilvecchiofumetto non è connesso Utente attivo
    Data registrazione
    21-06-2005
    Residenza
    Firenze
    Messaggi
    298

    Predefinito

    :P Già!! L'avevo messo per occupare spazio
    E' OnLine la nuova versione del sito!! Clicca qui

  11. #11
    Guest

    Predefinito

    Allora,
    ho usato quello di dementialsite,però non ho capito a cosa serva e come debba essere strutturato quello di ilvecchiofumetto,se ho capito bene al posto di img.js devo mettere
    var rnd_urls = new Array('www.google.it', 'www.peppe.com', 'www.pippo.it');
    var rnd_img = new Array ('img/google.gif', 'images/peppe.jpg', 'immagini/pippo.png');
    var j = parseInt(Math.random()*rnd_urls.length);
    document.write('<a href="http://'+rnd_urls[j]+'" target="_blank"><img src="'+rnd_img[j]+'" border="0"></a>');
    E' giusto?
    Un'altra cosa che vorrei sapere è come possa essere strutturato uno script dello stesso tipo che reindirizzi ad un solo indirizzo,quindi solo all'index.html.
    Ciao
    Ultima modifica di PSW : 01-01-2006 alle ore 12.06.50

  12. #12
    L'avatar di ilvecchiofumetto
    ilvecchiofumetto non è connesso Utente attivo
    Data registrazione
    21-06-2005
    Residenza
    Firenze
    Messaggi
    298

    Predefinito

    Citazione Originalmente inviato da PSW
    Allora,
    ho usato quello di dementialsite,però non ho capito a cosa serva e come debba essere strutturato quello di ilvecchiofumetto,se ho capito bene al posto di img.js devo mettere

    E' giusto?
    Un'altra cosa che vorrei sapere è come possa essere strutturato uno script dello stesso tipo che reindirizzi ad un solo indirizzo,quindi solo all'index.html.
    Ciao
    No PSW non devi mettere così. Ti spiego meglio: allora... Tu apri il blocco note, e ci incolli questo codice (quello di demential):
    Codice:
    var rnd_urls = new Array('www.google.it', 'www.peppe.com', 'www.pippo.it'); var rnd_img = new Array ('img/google.gif', 'images/peppe.jpg', 'immagini/pippo.png'); var j = parseInt(Math.random()*rnd_urls.length); document.write('<a href="http://'+rnd_urls[j]+'" target="_blank"><img src="'+rnd_img[j]+'" border="0"></a>');
    Fatto ciò, salvi il file come "img.js" (il nome lo puoi decidere tu, basta che l'estensione sia .js) nella cartella del tuo sito.
    Adesso hai quindi un file chiamato img.js che contiene lo script postato da demential; per farlo funzionare, devi però integrarlo nelle pagine web. A questo proposito fai così:
    1) Apri la pagina web in cui vuoi che abbia effetto il codice js con un qualsiasi editor.
    2) Nel punto in cui vuoi far apparire l'effetto del suddetto codice, scrivi questo:
    Codice HTML:
    <script language="javascript" type="text/javascript" src="img.js"></script>
    Questo codice richiama il file img.js che abbiamo creato prima, in modo che nella pagina web in questione appaia l'effetto che procura lo script (in questo caso le immagini random).
    Ti ricordo ancora una volta che il nome del file .js è a yua scelta: l'importante è che l'estensione sia .js.
    Spero di averti chiarito le idee!!

    Ciao e Buon 2006!!
    E' OnLine la nuova versione del sito!! Clicca qui

  13. #13
    L'avatar di ilvecchiofumetto
    ilvecchiofumetto non è connesso Utente attivo
    Data registrazione
    21-06-2005
    Residenza
    Firenze
    Messaggi
    298

    Predefinito

    Anche se col php funzionasse, sarebbe molto più scomodo in confronto al javascript... Secondo me gli script fatti da heracleum e da demential sono la soluzione migliore per questo tipo di cose (è come per i circuiti a banner random, io uso js per farlo). Senza contare che poi, a quanto ho capito dal codice, metti tutte le url e le immagini in un solo colpo ed in poche righe di codice.

    Ciao!!
    E' OnLine la nuova versione del sito!! Clicca qui

  14. #14
    L'avatar di heracleum
    heracleum non è connesso Utente storico
    Data registrazione
    21-01-2004
    Messaggi
    3,333

    Predefinito

    Citazione Originalmente inviato da sottoscalapunk
    Ah, ok, non avevo capito, comunque penso che se nelle pagine img1.php img2.php e img3.php metti immagini con link diversi vedrai che appariranno random con link diversi!
    Dunque,
    sono d'accordo che usando il php la soluzione risulterebbe anche più elegante per es. sul client va a finire SOLO un link, e solo un url di 1 immagine, perché il resto delle possibilità diciamo "rimangono sul server". Ok
    Ma proprio perché con php si dovrebbe avere una soluzione comoda ed elegante.. abbi pazienza.. ma perché mai mi devo creare ulteriori TOT pagine php per TOT link e TOT immagini.. solo per scrivere il tag IMG... ma qual è la comodità???
    Quindi per favore se uno comincia con una richiesta in Javascript non deviamo in altri linguaggi a meno che non sia necessario, e non è questo il caso.

    Vi ho già avvertito.. cominciamo a cancellare o sanzionare per risposte buttate là.. se si aiuta lo si fa convinti o niente.
    Avvertimento: richiedere in privato questioni tecniche produrrà inevitabilmente una supercazzola prematurata come risposta. (5 served)

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •