4 messaggi dal 14 ottobre 2010
Ciao a tutti e complimenti per il forum! Da perfetto neofita vorrei illustrarvi il mio problema:
Ho un menù e relativo sottomenù gestito con uno javascript e un foglio .css.
Funziona così: clicco sulle voci principali e, sulla barra sottostante compaiono i link secondari...
Il problema è che io avrei bisogno di aprire la pagina indicata da href oltre che di visualizzare i link secondari, mentre con il codice che vedete, se non metto voci di link secondarie si apre href, se metto voci secondarie, e quindi gli attributi rel e name, compaiono le voci secondarie ma il link di href non si apre...

Spero di essere stato chiaro e che qualcuno possa aiutarmi!
Grazie mille!

Vi posto il codice:



CODICE PAGINA HTML

<div id="nav">
  <ul id="tabBar">
    <li><a href="../chi_siamo1.htm" rel="menutrigger" name="azienda">L'azienda</a></li>    
    <li><a href="../soluzioni.htm" rel="menutrigger" name="soluzioni">Soluzioni</a></li>
    <li><a href="../clienti.htm" rel="menutrigger" name="clienti">Clienti</a></li>
    <li><a href="../contatti.htm">Contatti</a></li>
  </ul>
  <div id="subNav">
    <ul id="aziendaNav">
      <li><a href="../professionisti.htm" rel="menutrigger" name="staff">&nbsp&nbsp Lo staff &nbsp&nbsp</a></li>
      <li><a href="../strumenti.htm" rel="menutrigger" name="strumenti">&nbsp&nbsp Gli strumenti &nbsp&nbsp</a></li>
      <li><a href="../attivita.htm" rel="menutrigger" name="attivita">&nbsp&nbsp Aree di attivita' &nbsp&nbsp</a></li>
    </ul>
      <ul id="staffNav">
        <li><a href="../staff/staff_member1.htm">&nbsp tizio.caio &nbsp</a></li>
      </ul>
    <ul id="soluzioniNav">
      <li><a href="/#">Programs</a></li>
      <li><a href="/#">Events</a></li>
    </ul>
    <ul id="clientiNav">
      <li><a href="/#">Programs</a></li>
      <li><a href="/#">Events</a></li>
    </ul>

  </div>
</div>



CODICE .CSS

#nav {
  width:100%;
  height:54px;
  margin:0;
  padding:0;
}

#nav * {
  text-align:center;
  color:#fff;
  font-weight:bold;
  text-decoration:none;
  font-family:arial, helvetica, sans-serif;
  font-size:9pt;
}

#nav ul, #nav ul li {
  margin:0;
  padding:0;
  list-tyle-type:none;
}
#nav ul li {
  display:inline;
}

ul#tabBar {
  float:left;
}

ul#tabBar li a {
  display:block;
  float:left;
  width:100px;
  height:29px;
  line-height:39px;
  background:url(../64imgs/tab_bg.jpg) 0 10px no-repeat;
  border-right:4px solid #fff;
  overflow:hidden; /* fixed IE display bug */
}

ul#tabBar li a:hover {
  line-height:29px;
  background:url(../64imgs/tab_bg.jpg) top left no-repeat;
}

#subNav ul {
  display:none;
}

#subNav {
  clear:both;
  height:25px;
  background:url(../64imgs/subnav_bg.jpg) top left repeat-x;
  padding-left:100px;
}

#subNav ul {
  float:left;
  background:url(../64imgs/subnav_seperator.jpg) top left no-repeat;
}

#subNav ul li a {
  display:block;
  float:left;
  width:auto;
  text-align:center;
  line-height:25px;
  background:url(../64imgs/subnav_seperator.jpg) top right no-repeat;
}

#subNav li a:hover {
  color:#cde7ff;
}



CODICE .JS

function hideItems() {
  var list = document.getElementById("subNav").getElementsByTagName("ul");
  for(i=0;i<list.length;i++) {
    list[i].style.display="none";
  }
}

function navMenu() {
  if (!document.getElementsByTagName){ return; }
  var anchors = document.getElementsByTagName('a');
  
  for (var i=0; i<anchors.length; i++){
    var anchor = anchors[i];
      
    var relAttribute = String(anchor.getAttribute('rel'));

    if (anchor.getAttribute('href') && (relAttribute.toLowerCase().match('menutrigger'))){
      anchor.onclick = function() { 
        var nameAttribute = this.getAttribute('name') + "Nav";
        var thismenu = document.getElementById(nameAttribute);
        hideItems();
        thismenu.style.display="inline";
        return false;
      }
    }
  }
}
Ciao e benvenuto nel forum!

Secondo ti eviti tutte queste grane semplicemente utilizzando il controllo menu presente in asp.net...qualche link utile:
http://msdn.microsoft.com/it-it/library/ms366731.aspx

http://msdn.microsoft.com/it-it/library/system.web.ui.webcontrols.menu.aspx
Modificato da ricardo78 il 26 ottobre 2010 16.35 -

Creazione Siti Vicenza
Posizionamento Siti - SEO
710 messaggi dal 13 novembre 2008
Contributi
se il codice che hai postato è tutto.. mi manca qualche pezzo, perchè ho ricreato html, css, javascript e non vedo i submenù...

quindi o manca qualcosa, oppure il problema non è solo quello che hai indicato
ricardo78 ha scritto:
Secondo ti eviti tutte queste grane semplicemente utilizzando il controllo menu presente in asp.net


condivido...
sarai pure neofita, però non è detto che tu non possa usare dei control che ti aiutano...
altro discorso è se lo fai per studio e quindi per avere miglior cognizione di cosa avviene "dietro le quinte"...
710 messaggi dal 13 novembre 2008
Contributi
non vorrei dire una fesseria, ma mi sembra che stiamo trattando di puro e semplice html....
teo prome ha scritto:
non vorrei dire una fesseria, ma mi sembra che stiamo trattando di puro e semplice html....


no, in realtà l'avevo pensato anche io, però nulla vieta di usarlo in Visual Studio... se gli piace così...
certo ha poco a che vedere con ASP.NET, ma magari ci vuole arrivare con calma, essendo neofita...
4 messaggi dal 14 ottobre 2010
So che potrei usare tecnologie più sofisticate e magari più semplici da implementare però, essendo la prima volta che mi cimento in una cosa del genere, vorrei capire ciò che faccio per progredire piano piano...

in questo caso, in effetti, si tratta di html... l'unico problema che ho è il seguente:

le voci nei tag <li> compaiono correttamente nel menù, però succede questo:

quelle in cui ho solo l'attributo "href", senza "rel" e "name", giustamente al clic aprono la pagina indicata da "href" senza visualizzare alcun sottomenù...

quelle con gli attributi "href, rel e name", quando clicco, fanno comparire le voci del sottomenù ma rimangono nella stessa pagina senza aprire la pagina indicata dall' "href"... come posso risolvere questa cosa?

teo prome ha scritto:
se il codice che hai postato è tutto.. mi manca qualche pezzo, perchè ho ricreato html, css, javascript e non vedo i submenù...


la parte di codice che ho postato è quella riguardante il menù che devo creare... i 3 file non si trovano nella stessa cartella e poi va caricata la funzione navMenu() nel body della pagina...
710 messaggi dal 13 novembre 2008
Contributi
ok, infatti mi mancava qualche pezzo...

comunque guarda che in linea di massima potresti riuscire a fare tutto con i css, cercati qualcosa, in rete c'è molto di già pronto

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.