Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    52

    Aggiungere classe a link

    Dopo varie prove chiedo il vostro aiuto!
    Sto provando questo javascript per fare mostrare e nascondere due (o più) div con due link:
    codice:
    function SubMenu(ID) {
    var i = 1; for (i=1; i<3; i++) {
    document.getElementById("miodiv_" + i).style.visibility = "hidden";
    document.getElementById("miodiv_" + i).style.position = "absolute";
    if (i == ID) {
    document.getElementById("mostra_" + ID).style.visibility = "visible";
    document.getElementById("mostra_" + ID).style.position = "relative";
    }}}
    Poi con due link chiamo la funzione al div corrispondente.
    Vorrei aggiungere una classe al link una volta mostrato il div, presumo dove "i == ID" per aggiungere la classica classe "current".
    Suggerimenti?

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    intanto non serve quella condizione nel ciclo: e' un calcolo inutile perche' comunque nascondi sempre tutto e dopo valuti se quell' elemento andava mostrato
    piuttosto fai il tuo ciclo per nascondere tutto e, finito il ciclo, mostra quell' elemento con id="mostra_" + ID

    per i link, quello che ha richiamato la funzione (se e' letteramente richiamata tramate un onclick sul link) e', all' interno della funzione stessa, this

    this.className='current'

    il punto e' che comunque dovrai rimuovere un eventuale classe current assegnata ad altri link, quindi devi assegnare a questi un id con un numero progressivo, per poter rimuovere la classe nel ciclo
    for (...) {
    ...
    document.getElementById("idLink_" + i).className='';
    }

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Mar 2006
    Messaggi
    52

    RISOLTO

    Ottimo,
    ho risolto con document.getElementById("idLink_" + i).className=''; e qualche cambiamento alla funzione appunto!
    Graie

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.