Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45

    [JS] richiamare js da dentro alto js

    Salve ho questo problema con js (premetto che sono alle prime armi con js).

    Ho creato una funzione javascript che mi restituisce un link dinamico qualcosa del tipo:

    //Codice

    risultato = Click

    return risultato;

    };

    il risultato, ovvero il link, mi finisce dentro la pagina html. Questo link per come è scritto (vedi sopra) mi sfrutta un altro script (richiamato da class='lightview') per aprirmi la pagina del link in modo sfumato ed in una finestra.

    Il problema è che con il link generato dal 1° script non funziona il 2° script e l'immagine si apre in maniere standard. Se invece prendo il link e lo copio direttamente nella pagina html nella stessa posizione del risultato del 1° script tutto funziona a meraviglia. Ho anche controllato se effettivamente il link viene generato correttamente e anche qui tutto è a posto.

    Non capisco dove possa essere il problema dato che tutto è corretto. Qualcuno può darmi un indicazione??

    P.S. Spero di essere stato chiaro.

  2. #2
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Stai usando delle lib per avere effetti tipo lightbox?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45
    si uso lightview che ho incluso nel header del file html. In pratica uso queste:

    http://www.nickstakenburg.com/projects/lightview/

  4. #4
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Uhm ok .. ho dato un occhio ...

    Mi pare che ste lib funzionano a caricamento della pagina.
    Mi e' gia' capitata una cosa del genere con altre lib simili.

    In pratica il js a caricamento della pagina esegue una scansione del document e ne rileva gli elementi attivi per il lightbox.

    Se pero' carichi con un innerhtml o con una funzione dom un nuovo elemento tale elemeno nn funziona in quanto non e' mappato nel file js che usi. Una soluzione sarebbe richiamare il metodo o funzione che si occupa di leggere il documento e quindi farrgli ricaricare tutti i nodi e le impostazioni per gestire il lightbox. O senno usare un lightbox diverso.

    Purtroppo tutte ste lib js fatto da diosolosachi che usano sti framework dietro sono abba rognose per fare cosi dinamiche o comunque cose si discostano dagli esmpi proposti.
    TI consiglio di dare un occhio alla documentazione magari la classe che usi e' pure fornita di un metodo per tracciare dinamicamente una nuova entita' caricata da un tuo js.

    Sinceramente nn ora come ora nn so dirti altro.

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45
    Dopo un pò di smanettamento ho capito l'errore però non riesco a risolverlo. In pratica quando il link viene generato dal 1° script (che restituisce questo):

    Click

    e io vado a cliccare sul link mi si apre direttamente l'immagine senza usare il 2° script (quello dell'effetto) che viene richiamato da class='lightview'. Quindi sono arrivato alla conclusione che, per qualche assurdo motivo, quando il link viene passato dal 1° script è come se class='lightview' non ci fosse (anche se in realtà c'è nel link).

    Qualcuno sa il motivo??

  6. #6
    Utente di HTML.it L'avatar di Virus_101
    Registrato dal
    Sep 2008
    Messaggi
    2,497
    Ti ho detto sopra.

    Il lightbox che usi carica i riferimenti, e gli effetti da applicare a tali riferimenti, a tempo di caricamento della pagina.

    Se tu carichi nuovi riferimenti dinamicamente essi verranno ignorati in quanto non vengono "mappati" dallo script 2.

    Per fare cio' devi controllare di avere a disposizione qlke metodo per aggiornare la struttura dati che lo script usa oppure devi reinizializzare lo script 2 per fargli leggere le modifiche che hai fatto al document.

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2006
    Messaggi
    45
    Scusami ho replicato un istante dopo e non avevo notato la tua risposta. Cmq avevi ragione il problema stà proprio nel fatto che creando la pagina dinamicamente la funzione dello script 2 non vedeva i nuovi riferimenti.

    Ho risolto richimando la seconda funziona al termine del 1° script e dopo un pò di impazzimento ora funziona.

    Grazie mille

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.