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

    Cambiare attributi con il DOM

    Ciao ragazzi,
    durante queste vacanze mi sono dilettata di giochi con il dom.

    Ho creato dei menù dinamici simpatici ^___^

    Ma mi è rimasto un piccolo cruccio: è possibile che riesco a far cambiare solo un attributo alla volta ad un elemento ID?


    Quello che volevo fare era dare anche un background-color diverso alla voce di menù cliccata oltre al colore marrone.
    Dite che si può? Ho fatto alcune prove, ma mi dà una serie di errori.

    Grassie!

    Ecco posto lo script e la porzione di codice che lo richiama:

    javascript:
    function showBlock(idhref, elemento) {

    //alert("id elemento= " + idhref + " - elemento: " + elemento);

    /* array di possibilità esistenti - questo decide di mostrare dei blocchi o meno dipende dal link che si è premuto */
    var nome = new Array ("dati","scoll","peo","ctt","tratt","off","doc","o rd","event");

    for(i=0; i < document.getElementsByTagName("div").length; i++) {

    var idel = document.getElementsByTagName("div").item(i).getAt tribute("id");

    for (j = 0; j < nome.length; ++j) {

    if (idel != idhref) {
    document.getElementById(idel).style.display='none' ;
    } else {
    document.getElementById(idel).style.display='block ';
    }
    }
    }

    /* qui invece gli dico di prendere tutti i link che hanno l'id e se è quello cliccato di colorarlo in rosso.. altrimenti gli altri toglie l'attributo */

    for(l=0; l < document.getElementsByTagName("a").length; l++) {
    var namel = document.getElementsByTagName("a").item(l).getAttr ibute("id");
    if (namel != '') {
    if (namel == elemento) {
    document.getElementById(namel).style.color="#80000 0";
    } else {
    document.getElementById(namel).removeAttribute('st yle');
    }
    }
    }
    }
    Ora tutto ciò funziona alla grande ^__^

    questo è il pezzo di codice del menù:


    <table cellspacing=0 cellpadding=0 width="100%" border=0 bgcolor="#c0c0c0">
    <tr>
    <td nowrap width=80>Dati anagrafica </td>
    <td nowrap width=80>Soc.Collegate </td>
    <td nowrap width=80>Persone</td>
    <td nowrap width=80>Contatti</td>
    <td nowrap width=80>Trattative </td>
    <td nowrap width=80>Offerte </td>
    <td nowrap width=80>Documenti </td>
    <td nowrap width=80>Ordini </td>
    <td nowrap width=80>Eventi </td>
    <td width="100%"> </td>
    </tr>
    </table>
    E qui un esempio di richiamo dei blocchi:
    (lo script richiama dei blocchi predefiniti in un js .. ma è solo testo)
    <div align="center" id="scoll" style="display: none; width:100%;">
    <script language="JavaScript">document.write(bscoll);</script>
    </div>

  2. #2
    perdono.. mi sa che ho sbagliato forum, ma non sono riuscita a cancellare questo per metterlo nello scripting

  3. #3
    Nessuno ha idea se si possa modificare più di un attributo di style di un oggetto?

  4. #4
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    311
    certo che si può, quando fai
    codice:
    if (namel == elemento) { 
    document.getElementById(namel).style.color="#800000";
    aggiungici un
    codice:
    document.getElementById(namel).style.backgroundColor="#ffff00";
    nota come background-color diventi backgroundColor in javascript

  5. #5
    Grazie mille!
    Funziona... non avedo idea di come scrivere il background color... visto che in js solitamente lo setta scritto bgColor.

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.