Back to top

Autore Topic: Problema con menu  (Letto 1227 volte)

Offline darjoom

  • Esploratore
  • **
  • Post: 109
    • Mostra profilo
Problema con menu
« il: 27 Set 2012, 20:26:18 »
[RISOLTO]
Salve a tutti,
Ringrazio anticipatamente chi volesse darmi una mano a risolvere un problema, probabilmente di js (ho anche pasticciato un pò sui file senza risultati), che si verifica nel top menu (multi-menu con fancy menu abilitato) del sito http://www.casavacanzesiniscola.it.
Non penso sia un problema di browser in quanto tutti lo interpretano allo stesso modo, ossia onmouseover la "barra-cursore" del menu scorre fino alla seconda voce del top-men (aprendo corretamente il submenu) ma quando si va oltre, onmouseover sulle altre voci la "barra-cursore" scompare, salvo ri-comparire (manco fosse ......     :-))) un pò casualmente sulle ultime voci.
Confido nell'aiuto di qualcuno e ringrazio ancora per l'attenzione

-------------------

ilvanni - edit: linguaggio non consono.
« Ultima modifica: 30 Set 2012, 11:29:54 da ilvanni »

Offline conti1

  • Global Moderator
  • Instancabile
  • ********
  • Post: 9075
  • Sesso: Maschio
    • Mostra profilo
Re:Problema con menu
« Risposta #1 il: 28 Set 2012, 01:11:35 »
ciao
tanto x iniziare  le tre voci il territorio contatti e links  non hai nessuna classe  x cui la barra che scorre non sa  dove andare, inizia sistemare il codice del  menù , sempre che sia quello il problema.

domanda  quel menù lo hai inserito tu? oppure e gia integrato nel template?

io cambierei il menù  userei un mega menu tipo http://www.joomlack.fr/en/joomla-extensions/maximenu-ck
se possibile postare il link  x risolvere al meglio il problema grazie
evitare nomi commerciali grazie

Offline darjoom

  • Esploratore
  • **
  • Post: 109
    • Mostra profilo
Re:Problema con menu
« Risposta #2 il: 28 Set 2012, 16:39:13 »
Grazie per la pronta risposta Conti 1
Rispondo alla tua domanda: Il menu era già integrato nel template e non ha nessun modulo in particolare a cui assegnare la classe. Ho esaminato (con le mie umili conoscenze basilari di js) il file relativo al "fancy", ma sembrano non esserci problemi la. te lo copio-incollo:



var SBFancy = new Class({
   Implements: Options,
   initialize: function(menu, options){
      this.setOptions(this.getOptions(), options);
      this.menu = $(menu), this.current = this.menu.getElement('li[class$=active]');
      this.menu.getElements('li').each(function(item){
         if(item.getProperty('class') != null){
            if(item.getProperty('class').split(' ')[0] != 'multi-li')
            {
               item.addEvent('mouseover', function(){this.moveBg(item);}.bind(this));
               item.addEvent('mouseout', function(){this.moveBg(this.current);}.bind(this));
            }
         }
      }.bind(this));
      this.wback = 0;
      this.back       = new Element('li').addClass('fancy').adopt(new Element('div').addClass('fancy-left').adopt(new Element('div').addClass('fancy-right').adopt(new Element('div').addClass('fancy-center')))).injectInside(this.menu);
      this.back.fx    = new Fx.Morph(this.back, this.options);
      if(this.current) this.setCurrent(this.current);
   },


   setCurrent: function(el, effect){
      xPos    = el.offsetLeft;
      wPos   = el.offsetWidth;
      tempEl    = el.offsetParent;
      while(tempEl != null) {
         xPos    += tempEl.offsetLeft;
         tempEl     = tempEl.offsetParent;
      }
      this.back.setStyles({left: (xPos)+'px', width: (wPos)+'px'});
      (effect) ? this.back.fx = new Fx.Morph(this.back, this.options).set({'opacity': [0, 1]}) : this.back.fx.set({'opacity': 1});
      this.current = el;
   },


   getOptions: function(){
      return {
         transition: Fx.Transitions.sineInOut,
         duration: 500, wait: false,
         xOffset:0,
         onClick: Class.empty
      };
   },


   clickItem: function(event, item) {
      if(!this.current) this.setCurrent(item, true);
      this.current = item;
      this.options.onClick(new Event(event), item);
   },


   moveBg: function(to) {      
      if(!this.current) return;
      this.back.fx.pause();
      
      xPos    = to.offsetLeft;
      wPos   = to.offsetWidth;
      tempEl    = to.offsetParent;
      
      while(tempEl != null) {
         xPos    += tempEl.offsetLeft;
         tempEl     = tempEl.offsetParent;
      }
      if(this.wback == 0) this.wback = this.back.offsetWidth;
      this.back.fx.start({
         'left': [this.back.offsetLeft, xPos],
         'width': [this.wback, wPos]
      });
      this.wback = this.back.offsetWidth;      
   }
});


---------------------------------


ps: ho scaricato il menu che mi hai consigliato poi lo provo e ti faccio sapere


Grazie ancora per l'interesse, i VS consigli sono sempre utilissimi

Offline darjoom

  • Esploratore
  • **
  • Post: 109
    • Mostra profilo
Re:Problema con menu
« Risposta #3 il: 30 Set 2012, 00:36:36 »
[size=78%]Conti1 grazie per il prezioso aiuto,[/size]
ho risolto ed era proprio come dicevi tu. Purtroppo la fretta non mi ha aiutato e mi era sfuggito il dettaglio fondamentale: le voci che non "funzionavano" mancavano di "classe addizionale" ; si doveva semplicemente assegnare la classe "_fancy", voce per voce di menu, dalla gestione dei menu.
Grazie ancora
« Ultima modifica: 30 Set 2012, 08:28:25 da darjoom »

Offline ilvanni

  • Global Moderator
  • Instancabile
  • ********
  • Post: 7038
  • Sesso: Maschio
  • Giovanni Vacca
    • Mostra profilo
Re:Problema con menu
« Risposta #4 il: 30 Set 2012, 11:31:30 »
Ciao darjoom, sono felice che tu abbia risolto, per le prossime volte ti pregherei di usare un linguaggio più corretto, ti ringrazio per la collaborazione.

 



Web Design Bolzano Kreatif