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

    rollover di sfondo attraverso classi richiamate con js

    Salve!

    Il codice che sto utilizzando per effettuare il rollover di sfondo di due immagini è il seguente:

    onMouseOver="document.getElementById('nomeId').sty le.background='URL(img1.gif)';" OnMouseOut="getElementById('nomeId').style.backgro und='URL(img2.gif)';"

    Dovendo applicare questo codice a tutte le voci di un menu, volevo sapere se esiste un modo simile che mi consenta di utilizzare una classe da richiamare ogni volta per non dover definire tanti id uguali per quante sono le voci del menu stesso.

    Grazie e ciao a tutti!

  2. #2
    Si, ed è di NON utilizzare javascript ma le pseudoclassi dei CSS:

    <div id="menu">
    uno
    due
    tre
    </div>

    e nel CSS:

    #menu a{background-image:url(img2.gif);}
    #menu a:hover{background-image:url(img1.gif);}

    Ciao!
    "Le uniche cose che sbagli sono quelle che non provi a fare."
    Atipica

  3. #3
    il problema è che il rollover deve essere effettuato su di un altro div diverso da quello dove c'è il link; e poi comunque c'è sempre il problema che devo ripeterlo per tutte le vosi del menu....

    ciao

  4. #4
    Originariamente inviato da v.pantile
    il problema è che il rollover deve essere effettuato su di un altro div diverso da quello dove c'è il link; e poi comunque c'è sempre il problema che devo ripeterlo per tutte le vosi del menu....

    ciao
    puoi provare così, supponendo di avere id del tipo 'div1', 'div2'...

    codice:
    function f() {
      var divs=document.getElementsByTagName("div");
      for(i=0;i<divs.length;i++){
       if (divs[i].id.indexOf("div")!=-1)) {
        divs[i].onmouseover=function(){ this.style.background='URL(img1.gif)'; }
        divs[i].onmouseout=function(){ this.style.background='URL(img2.gif)'; }
      }
    }
    window.onload=f;
    ciao

  5. #5
    non esiste una sintassi tipo ..OnMouseOver="document.getElementByClass ('db_arrow').style.background='URL(db_arrow2.gif)' ;" o qualcosa di simile??? Così mi eviterei molti problemi...

    ciao

  6. #6
    Originariamente inviato da v.pantile
    non esiste una sintassi tipo ..OnMouseOver="document.getElementByClass ('db_arrow').style.background='URL(db_arrow2.gif)' ;" o qualcosa di simile??? Così mi eviterei molti problemi...

    ciao
    beh, puoi accedere alla classe così:

    codice:
    var divs=document.getElementsByTagName('div');
    for (i=0;i<divs.length;i++)
     if (divs[i].className=='tuaclasse') {
      // roba che vuoi eseguire
     }
    ciao

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.