Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    38

    [aiuto] paginazione javascript (ajax) + lightbox (clone)

    Ciao a tutti,
    ho implementato una pagina che mostra una galleria di immagini
    un sistema di paginazione ajax.

    La pagina mostra i thumbnails e cliccando su di essi prettyPhoto (clone di lightbox basato su jQuery)
    dovrebbe zommare le foto... ma non succede.

    I dati (thumbnail, immagine grossa, dimensioni, didascalia, ecc) vengono estratti da un DB
    MySQL via PHP. Il codice generato da questo mix e iniettato nella pagina è corretto.

    Secondo me il problema è legato al fatto che il codice della gallery viene inserito al volo nel contenitore
    (un DIV e il codice è inserito con un innerHTML) quindi quando viene servita la pagina
    il DIV contenitore rimane vuoto (<div id="contentore"></div>).
    Così il sistema lightbox non *vede* alcuna immagine da *gallerizzare*...
    ma questa è solo una mia idea... e io sono un pivello (aka nubbio)

    Il sistema di paginazione non è basato su nessuna libreria tipo mootools o JQuery o che altro...
    ... ho trovato una cosa che mi sembrava potesse funzionare e me la sono modificata
    perché facesse quello che mi serviva.

    Non posso usare una paginazione realizzata in PHP perché la pagina contiene un'animazione flash
    che ripartirebbe tutte le volte che viene cambiato il set di record.

    Avevo pensato di mettere insieme una roba che carica tutti i thumbnail (quindi tutti i record),
    li inserisce in una serie di DIV (tutto via script PHP) e poi utilizzando JS mostro e nascondo i DIV (via CCS display= none/block).
    La cosa che non mi piace è che devo caricare tutti i thumbnails, è anche vero che non sono moltissimi
    (una 50ina al max), così come è vero che se JS fosse disabilitato sulla macchina dell'utente
    la galleria sarebbe comunque visibile... ma preferirei cmq farlo via ajax...
    quanti sono gli utenti che disabilitano JS...

    Come posso fare?

    Grazie anticipatamente per l'aiuto.
    jo

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Premesso che potervi risparmiarti [aiuto] è sottinteso che chi posta ha bisogno d'aiuto altrimenti non posta
    1. La pagina richiamata da ajax la carichi completa, o solo la parte necessaria?
    2. Nella pagina richiamata c'è codice javascript al suo interno per far funzionare prettyPhoto?
    3. Non "funziona" con tutti i browser?
    4. Da errori?

    Per una + rapida (forse) soluzione consiglio un link pubblico alla pagina.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    38
    Ciao Andrea
    [list=a][*]viene richiamato solo il frammento dei thumbnails[*]il codice di prettyPhoto (js + lib jQuery + init) sono nella pagina che effettua la chiamata[*]testato su Safari 4 e FF 3.5.2 (entrambi Mac) e non funza su nessuno dei 2, non ancora testato su Win[*]nessun errore[/list=a]
    Non posso pubblicare un link pubblico perché il sito è ancora in sviluppo (e non approvato).

    Per avere una ulteriore conferma ho tradotto in codice statico uno dei record che vengono iniettati
    e l'ho messo nella stessa pagina sotto il div che riceve il responseText ajax e quello funziona
    (il record l'ho intercettato inserendo nel js della paginazione un alert per vedere il codice restituito
    dalla chiamata ajax).

    Grazie ancora.

    jo

  4. #4
    Utente di HTML.it
    Registrato dal
    Mar 2001
    Messaggi
    38

    risolto!

    Magari può servire a qualcuno...

    L'init di prettyPhoto (credo si chiami init, rimango un principiante )
    va inserito nel javascript che gestisce la restituzione del pacchetto ajax:

    codice:
    (...)
    document.getElementById(js_pagination_contents_div).innerHTML=xmlHttp.responseText
    // INIT PRETTYPHOTO
       $(document).ready(function(){
       $(".gallery a[rel^='prettyPhoto']").prettyPhoto({theme:'dark_rounded'});
    });
    // fine INIT PRETTYPHOTO
    (...)
    Invece il link allo script di prettyPhoto e alla lib jQuery può andare tranquillamente
    nella head della pagina che effettua la chiamata ajax.

    Ci sono arrivato leggendo un post relativo ad un altro clone di lightbox,
    quindi credo che funzioni anche in altre situazioni.

    jo

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.