Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11
  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074

    re-inizializzare LightBox

    Dunque, ho un problemuccio che - ho visto - non è soltanto mio...
    in buona sostanza, ho una pagina con due diversi div, nei quali carico contenuti diversi attraverso una chiamata AJAX ad una pagina PHP (in base alla variabile inviata tramite AJAX, la pagina PHP invia i contenuti richiesti).
    Il mio problema è che, in alcuni casi, i contenuti che vengono caricati contengono una serie di miniature, cliccando le quali si dovrebbe visualizzare l'immagine grande tramite l'effetto LightBox. Però, caricando questi link attraverso la chiamata AJAX, la relativa funzione JS non va...
    Effettuando un ricerca nel forum, ho trovato che qualcuno ha risolto facendo in modo di ri-inizializzare la funzione contestualmente al caricamento dei nuovi contenuti.
    Ho quindi provato a fare così:
    Codice PHP:
    function handleResponse() {
    if (
    http.readyState == 4) {
    var 
    response http.responseText;

    var 
    splitString response.split("#####")
    var 
    text1 splitString[0];
    var 
    text2 splitString[1];
    var 
    text3 splitString[2];
    var 
    text4 splitString[3];
    var 
    text5 splitString[4];
    var 
    text6 splitString[5];
    var 
    el document.getElementById("row1");
    el.innerHTML text1;
    el.scrollTop=0;

    var 
    el3 document.getElementById("dynPage6");
    el3.innerHTML text3;
    el3.scrollTop=0;
    el3.initLightbox();
    ....
    } } 
    Ovvero, ho aggiunto alla funzione AJAX che carica i contenuti nel div la riga el3.initLightbox();, e che dovrebbe - appunto - re-inizializzare la funzione LightBox.
    Però non funge!...

    Come posso risolvere questo problema?
    metatad
    graphic & web design

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Dovrebbe bastare includere lo script lightbox (che apre le immagini) nella pagina che fa la chiamata Ajax
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Forse non mi sono spiegato...
    di partenza, è proprio così: il codice JS per il LightBox É nella pagina che effettua la chiamata AJAX - che è poi l'unica pagina, in cui avviene tutto... - ma non funziona, quando l'effetto LightBox viene richiamato da un contenuto caricato nella pagina successivamente, attraverso la chiamata AJAX...
    metatad
    graphic & web design

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da metatad
    Forse non mi sono spiegato...
    di partenza, è proprio così: il codice JS per il LightBox É nella pagina che effettua la chiamata AJAX - che è poi l'unica pagina, in cui avviene tutto... - ma non funziona, quando l'effetto LightBox viene richiamato da un contenuto caricato nella pagina successivamente, attraverso la chiamata AJAX...
    :master: Comunque posta il link ad una pagina pubblica cosi da simulare il problema/errore, cosi si capisce meglio e si fa prima.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    la pagina è: www.metatad.it/demo.php
    però, trattandosi di chiamata AJAX, non sarà possibile visualizzare nel sorgente il contenuto richiamato da questa...
    In ogni caso, quello che viene caricato tramite AJAX nel div della pagina è una serie di link tipo questo:
    Codice PHP:
    [url="medialeaf.jpg"][img]th_medialeaf.jpg[/img][/url
    metatad
    graphic & web design

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    La pagina posta al caricamento non da errori, ma se provi (dal menu in alto) a cliccare su art (pur funzionando) da il seguente errore:
    brandPage.initLightbox(); initLightbox non è una funzione
    Credevo (vista la tua richiesta iniziale) fosse una cosa più semplice, pertanto non credo che sarei in grado d'aiutarti.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    Infatti, il punto è che non riesco a far andare LightBox, richiamandolo da un link che - però - viene caricato via AJAX request...
    la riga che riporti, è quella che ho provato ad utilizzare per far re-inizializzare la funzione, ma, come hai visto, non va...
    metatad
    graphic & web design

  8. #8
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Non so se incide o meno ma sicuramente "imposti" ad un immagine una funzione butta li......
    codice:
    var brandPage = document.getElementById("dynPage6");
    brandPage.initLightbox();
    brandPage si riferisce ad un immagine, tu di fatto associ ad un immagine la funzione initLightbox() :master: non credo che possa funzionare, ma non avendolo mai provato non lo escludo, però ho qualche dubbio.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    no, l'elemento a cui ho provato ad associare l'initLightbox(); è un div, non un immagine...
    comunque, infatti, non funzionava.
    Attraverso vari tentativi, ho fatto un (piccolo) passo avanti:
    ho aggiunto la stringa
    Codice PHP:
    initLightbox(); 
    al termine della funzione AJAX che carica dinamicamente i contenuti nei vari div, la funzione
    Codice PHP:
    function handleResponse() 
    In questo modo, cliccando uno dei link caricati dinamicamente, e che dovrebbero attivare il lightbox, qualcosa effettivamente succede... cioè, è come se la funzione si avviasse e poi rimanesse sospesa ...
    In pratica, l'overlay si estende soltanto per circa tre quarti della pagina, il light box appare ma non carica alcuna immagine (che pure è presente sul server)... e non appaiono nemmeno i link per chiuderlo.
    porcaccia!...
    metatad
    graphic & web design

  10. #10
    Utente di HTML.it
    Registrato dal
    Sep 2001
    residenza
    Napoli, Italia
    Messaggi
    1,074
    proprio nessuno che mi sappia dare un suggerimento?
    metatad
    graphic & web design

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