Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    CARICAMENTO script....prima della pagina???

    Salve ragazzi, io ho un problemino con un javascript....
    In sostanza utilizzo un Js per la visualizzazioni di immagini stile galleria Il mio problema è che in una pagina ho molte miniature e, siccome il JS viene caricato per ultimo, l'utente fa in tempo ad aprire anche 6/7 immagini (che si vede aprire in una nuova pagina, antiestetica come poche) prima che lo script funzioni...
    Se volete fare la prova sulla vostra pelle, il link è
    http://sottomultipli.altervista.org/galleria.php (non voglio assolutamente farmi pubblicità, se lo ritenete opportuno nascondete pure il link)

    La mia domanda, in sostanza, è: esiste un modo per far sì che carichi il JS prima di tutte le varie miniature? E se no, c'è un escamotage???

    GRAZIE!!!!

  2. #2
    non ho mai utilizzato lightbox, quindi non so bene come funzioni, però un piccolo escamotage che puoimettere in atto è quello di associare all'vento onclick di ogni link delle foto un bel return false, cioè:
    codice:
    <img ...>
    in questo modo non succede nulla fino a che il lightbox si inizializza andando a sostituire il return false con la funzione di visualizzazione della foto.
    cmq ci possono essere altre soluzioni, darò un'occhiata al codice di lighbox stasera (tanto prima o dopo dovevo farlo) e si verà.



    [OT]
    anca a mi me piase riso e bisi, ma lo preferiso col tastasal...
    «Non esiste mondo fuor dalle mura di Verona; ma solo purgatorio, tortura, inferno. Chi è bandito di qui, è bandito dal mondo e l'esilio dal mondo è morte...»
    - William Shakespeare -

  3. #3
    ecco, allora, come pensavo il lightBox si inizializza al scatenarsi dell'evento window.onload, quindi basta intervenire qui e sei a posto.
    devi togliere l'ultima riga dal file lightbox.js
    codice:
    Event.observe(window, 'load', initLightbox, false);
    e sostituirla con questa funzione:
    codice:
    function onContent(f){//(C)webreflection.blogspot.com
    var a=onContent,b=navigator.userAgent,d=document,w=window,c="onContent",e="addEventListener",o="opera",r="readyState",
    s="<scr".concat("ipt defer="" src="//:" on="" ,r="" change="if(this.",r,"==\"complete\"){this.parentNode.removeChild(this);",c,".",c,"()}"></scr".concat("ipt>");
    a[c]=(function(o){return function(){a[c]=function(){};for(a=arguments.callee;!a.done;a.done=1)f(o?o():o)}})(a[c]);
    if(d[e])d[e]("DOMContentLoaded",a[c],false);
    if(/WebKit|Khtml/i.test(b)||(w[o]&&parseInt(w[o].version())<9))(function(){/loaded|complete/.test(d[r])?a[c]():setTimeout(arguments.callee,1)})();
    else if(/MSIE/i.test(b))d.write(s);
    };
    onContent(initLightbox());
    la funzione l'ho presa qui

    «Non esiste mondo fuor dalle mura di Verona; ma solo purgatorio, tortura, inferno. Chi è bandito di qui, è bandito dal mondo e l'esilio dal mondo è morte...»
    - William Shakespeare -

  4. #4
    Non capisco se sono leso io, oppure se sono leso io ma c'è qualcosa di sbagliato (il fatto che sono leso rimane costante )...
    Ti passo il link della prova che ho fatto:
    http://sottomultipli.altervista.org/js/lightbox_mod.js

    Grazie per la disponibilità scaligero!


    [OT]
    There is no world without Verona’s walls.....
    [OT2]
    Sinceramente a me i bisi non piacciono neanche, ma la metrica regna sovrana
    [OT3]
    Forza Hellas!
    [OT4]
    Alla nostra prossima data ti aspetto.....e direi che se mi risolvi il problema ti spetta di diritto un cd gratis (appena avremmo finito di registrarlo, s'intende )

  5. #5

  6. #6
    Ho riprovato a modificare..... non capisco dove sbaglio.......

    http://sottomultipli.altervista.org/galleria.php

  7. #7
    Ma hai visto il link che ti ho passato?

    Prima metti il tag script per includere la libreria addDOMLoadEvent

    Poi vai in lightbox js e modifichi la riga event.observe con addDOMLoadEvent, esattamente come specificato da fcaldera.

  8. #8
    Originariamente inviato da Mega69
    Ma hai visto il link che ti ho passato?

    Prima metti il tag script per includere la libreria addDOMLoadEvent

    Poi vai in lightbox js e modifichi la riga event.observe con addDOMLoadEvent, esattamente come specificato da fcaldera.
    EDIT: non avevo letto tutto il post, scusate... La funzione di Andrea che state usando è pressochè uguale ad addDOMLoadEvent; cmq prova lo stesso ad usare addDOMLoadEvent, magari funziona.

  9. #9
    @Mega69:
    no problem, anch'io inizialmente utilizzavo quel metodo, poi il buon andr3a in questo post ha postato una funzione fatta da lui, che è più crossbrowser.
    cmq l'idea era sempre la stessa.

    @SottoMultiplo:
    ma hai modificato? perhè sul link che hai messo c'è ancora la pagina come ieri, il file lightbox.js non presenta le modifihe he ti ho suggerito..
    cmq ho notato che ti ho passato del codice non valido, ho sbagliato il copia e incolla, ecco quello corretto:
    codice:
    function onContent(f){//(C)webreflection.blogspot.com
    var a,b=navigator.userAgent,d=document,w=window,
    c="__onContent__",e="addEventListener",o="opera",r="readyState",
    s="<scr".concat("ipt defer src='//:' on",r,"change='if(this.",r,"==\"complete\"){this.parentNode.removeChild(this);",c,"()}'></scr","ipt>");
    w[c]=(function(o){return function(){w[c]=function(){};for(a=arguments.callee;!a.done;a.done=1)f(o?o():o)}})(w[c]);
    if(d[e])d[e]("DOMContentLoaded",w[c],false);
    if(/WebKit|Khtml/i.test(b)||(w[o]&&parseInt(w[o].version())<9))
    (function(){/loaded|complete/.test(d[r])?w[c]():setTimeout(arguments.callee,1)})();
    else if(/MSIE/i.test(b))d.write(s);
    };
    onContent(initLightbox);

    [OT]
    fammi sapere dove suonate, cosi se posso vengo a fare un giro...
    «Non esiste mondo fuor dalle mura di Verona; ma solo purgatorio, tortura, inferno. Chi è bandito di qui, è bandito dal mondo e l'esilio dal mondo è morte...»
    - William Shakespeare -

  10. #10
    Fatto!!!

    In effetti avevo sbagliato a modificare la prima volta, adesso funziona a meraviglia!!!
    Grazie milleeeeeeeeeeeeeeeeeeeeeeeeeeeeee


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