Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    205

    effetto jquery per ciascun div con stesso ID

    Ciao,

    ho impostato un evento jquery al mouse hover di un div della pagina.

    L'id del div però è uguale ad altri presenti nella pagina perchè si tratta dell'elenco di una serie di articoli del mio blog in Joomla.

    Di conseguenza al mouse over di un articolo l'effetto viene visualizzato per tutti i div della pagina.

    Come posso fare per visualizzare solo dove attivo effettivamento l'hover dell'anteprima articolo?

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Ciao, gli id devono necessariamente essere univoci all'interno di uno stesso documento. Se non fosse così sarebbe opportuno correggere il tuo html.

    Ad ogni modo si può utilizzare l'oggetto $(this), dentro la funzione richiamata dall'evento, per far riferimento a quello stesso elemento da cui è stata chiamata tale funzione.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    205
    Grazie funziona.

    L'unica cosa però è che l'effetto hover incide anche su un altro div che viene attivato in tutta la pagina.

    $('#articolo').hover(
    function(){
    $(this).animate({width: '96%'});
    $('#img').animate({width: '100%'});
    $('.div').animate({paddingLeft: '0px'});
    },

    function(){
    $('#articolo').animate({width: '15%'});
    $('#img').animate({width: '82%'});
    $('.div').animate({paddingLeft: '20px'});
    }
    );
    Come posso risolvere con gli altri due elementi?

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Non sapendo minimamente come è composto il resto della tua pagina, non saprei proprio come aiutarti.
    Probabilmente c'è ancora qualche selettore che influisce su altri elementi. Verifica quale elemento è interessato e controlla se c'è conflitto con gli id e le classi che hai utilizzato sui selettori.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    205
    Provo a spiegarti.

    <div id="articolo-container">
    <div id="articolo"></div>
    <div id="img"></div>
    <div class="div"></div>
    </div>
    La parte Jquery è quella di sopra

  6. #6
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,771
    Puoi fare in diversi modi.
    Uno è questo:
    codice:
    $('#articolo').hover(
      function(){
        $(this).animate({width: '96%'})
        .next('#img').animate({width: '100%'})
        .next('.div').animate({paddingLeft: '0px'});
      },
      function(){
        $(this).animate({width: '15%'})
        .next('#img').animate({width: '82%'})
        .next('.div').animate({paddingLeft: '20px'});
      }
    );
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  7. #7
    Utente di HTML.it
    Registrato dal
    Jan 2013
    Messaggi
    205
    Grazie Mille!!

    Perfetto funziona!

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.