Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    Problema con tanti classi con stesso nome

    ciao!
    mi spiego meglio.
    io ho questa funzione:
    codice:
    $(document).ready(function(){  
        $('.img_thumb').click(function() { // CAMBIA IMG DETTAGLIO
            $('.img_grande').attr('src', this.src);
            $(".zoomWindow").remove();
            $(".zoomPup").remove();
            $(".jqzoom").remove();
            $('.art_img').append('[img]' + this.src + '[/img]');
            $('.jqzoom').jqzoom();
        });
    });
    in pratica sulla destra ho della miniature e cliccandoci sopra deve cambiare la sorgente di art_image (dove carico la foto più grande e dove carico jqzoom).
    il problema è che di classi art_img classi jqzoom ne ho diverse nella pagina (e nn lo so a priori in qunto dipende dai recordi di un db).
    quindi se adesso clicco su una qualsiasi img_thumb mi vengono cambiate tutte le sorgenti di art_img.
    come faccio a differenziarle?
    mi era venuta in mente la serializzazione, ma nn sono riuscito a metterla in pratica.
    potete darmi una mano?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    davi fare un po' di traversing del DOM per identificare quali elementi vanno presi in considerazione
    $(this) sara' il punto di partenza, la thumb su cui hai cliccato

    il suo contenitore, per esempio, non ho idea della vera struttura, potra' essere $(this).parents('.zoomPup') e non $('.zoomPup')

    ciao

  3. #3
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,134
    Devi assegnare degli ID univoci o con l'id del record se recuperi le foto da un db (es foto_<? echo $id_tabellafoto; ?>) oppure numerandole progressivamente se le recuperi dalla cartella(es: $num=0 ciclo for che scorre la cartella $num++ ) operazione lato server, poi per recuperare id fai un $each sulla classe
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  4. #4
    Originariamente inviato da cavicchiandrea
    Devi assegnare degli ID univoci o con l'id del record se recuperi le foto da un db (es foto_<? echo $id_tabellafoto; ?>) oppure numerandole progressivamente se le recuperi dalla cartella(es: $num=0 ciclo for che scorre la cartella $num++ ) operazione lato server, poi per recuperare id fai un $each sulla classe
    questo è il primo approccio che ho provato a seguire.
    solo che probabilemente sbaglio nell'assegnare l'ID univoco.
    lo avevo preso dal db, ma di preciso a chi lo devo assegnare?
    questo mi sa che sbagliavo.

  5. #5
    ho provato a fare così.
    alle immagini piccole (quelle che prendono l'evento click) ho messo un id univoco:
    Codice PHP:
    echo '[img]' $fileColSmallFronte '[/img] '
    poi ho provato a cambiare lo script:
    codice:
        $('.img_thumb').each(function(index) {
            $(this).bind("click", function() {
                $('.img_grande').attr('src', this.src);
                $(".zoomWindow").remove();
                $(".zoomPup").remove();
                $(".jqzoom").remove();
                $('.art_img').append('<a href="' + this.src + '" class="jqzoom">
    [img]' + this.src + '[/img]</a>');
                $('.jqzoom').jqzoom();
            });
        });
    però mi sono bloccato.
    da quanto ho capito dovire cambiare la sorgente immagine qua:
    codice:
    $('.art_img').append('<a href="' + this.src + '" class="jqzoom">
    [img]' + this.src + '[/img]</a>');
    prendendola dall'ID univoco.
    ho provato a fare qualche prova ma nn sono riuscito nell'intento.

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.