Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [jQuery] Semplice onmouseover, problema con il selector

    Salve,
    purtroppo mi sto spingendo troppo avanti per le mie conoscenze (si impara così però) e non riesco a fare una cosa sicuramente banale.
    Ho una struttura di questo genere (che non so se è ottimale):
    codice:
    <div id="conteiner">
    
      <div id="1">
      
    
    ......</p>
      </div>
      ...
      ...
      <div id="N">
      
    
    .....</p>
      </div>
    
    </div>
    Vorrei fare in modo che al passaggio del mouse (onmousehover) applicasse, ma è solo un esempio, un nuovo colore di background ai div con id 1, 2, N.

    In pratica immaginatevi un guestbook con N messaggi racchiusi in un div con id="N"

    Come dovrei impostare il selettore in jQuery?
    E' corretto dare quei nomi ai Div?
    Forse è più corretto un quacosa tipo <div id="cont_N">...</div>?

    Ahhhh sarà una stupidaggine ne sono convinto
    Intanto scartabello la documentazione di jQuery.
    Ciao!

  2. #2
    Guarda sono agli inizi anch'io e sono imbarcato tra mille guide jquery.

    Voglio azzardare una soluzione e vediamo se gli altri più esperti possono confermare

    se fai semplicemente

    codice:
    //over
    $("div").bind("mouseover", function(){
        $(this).css("background-color" , "#colore");
    });
    
    //out per tornare al colore iniziale uscendo dal div
    $("div").bind("mouseout", function(){
        $(this).css("background-color" , "#colore iniziale");
    });
    in questo modo il div numerato non ti servirebbe neanche, quindi eliminerei tutti gli id. se ci sono altri div nella pagina e non vuoi che abbia un effetto su tutti i div, allora ingloberei gli N div in un div contenitore (#box) e il selettore css iniziale anziché $("div") diventerà $("#box > div") così selezionerà una collezione di div successivi al #box (quindi direttamente interni al #box).
    Cogli l'attimo o non ce ne saranno altri uguali mai.

  3. #3
    apperò mica male!
    Provo al volo

  4. #4
    mmmmm e se io dovessi selezionare dei div interni come funziona?
    Ho questa struttura:
    codice:
    <div id="conteiner">
    
      <div id="1">
          <div id="agree">yes</div> <div id="disagree">no</div> 
      
    
    ......</p>
      </div>
      ...
      ...
      <div id="N">
          <div id="agree">yes</div> <div id="disagree">no</div> 
      
    
    .....</p>
      </div>
    
    </div>
    ... e il tuo codice che funziona benissimo ...
    codice:
    //over
    $("div").bind("mouseover", function(){
        $(this).css("background-color" , "#colore");
    });
    
    //out per tornare al colore iniziale uscendo dal div
    $("div").bind("mouseout", function(){
        $(this).css("background-color" , "#colore iniziale");
    });
    Normalmente vorrei che "<div id="agree">yes</div> <div id="disagree">no</div> " fossero invisibili e vabbè, è semplice.
    Ma come faccio utilizzando il tuo codice a fare in modo che "mouseover" mi si visualizzino i div "<div id="agree">yes</div> <div id="disagree">no</div> " solo del div (this) che sono sopra con il mouse?
    mmmmmmmm

  5. #5
    Trovato.
    Una cosa tipo mi seleziona il #div dentro this:
    codice:
    $('#div, this).qualcosa();

  6. #6
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e' anche corretto (e piu' performante) procedere di find

    $(this).find('div')

  7. #7
    provo al volo

  8. #8
    figo funziona

  9. #9
    Ottimo, sono anch'io alle prime armi e come te sto un po' facendo delle prove, sono contento che in qualche modo si è arrivati alla soluzione
    Cogli l'attimo o non ce ne saranno altri uguali mai.

  10. #10

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.