PDA

Zobacz pełną wersję : Jak zrobić nadrzędne menu nieaktywne



WtorekBW
21-12-2011, 06:30
Witam, na stronie którą mam na localhoście (więc linka nie podam), mam rozwijane menu. Mniej więcej coś takiego:
4820

Chce aby "Imię Nazwisko 1" było nieaktywne, żeby nie można było kliknąć i otworzyć tylko żeby się rozwijały pozostałe elementy.
Oczywiście przeszukałem liczna fora etc. Lecz nigdzie nie znalazłem rozwiązania problemu które by mi pomogło.
Znalazłem że trzeba coś zmienić w JS w szablonie. Mam tam m.in. UvumiDropdown.js które zawiera:

var UvumiDropdown=new Class({Implements:Options,options:{clickToOpen:fal se,openDelay:120,closeDelay:300,duration:200,link: 'cancel',transition:Fx.Transitions.linear,mode:'ho rizontal'},initialize:function(a,b){this.menu=a;th is.setOptions(b);if(this.options.mode!='horizontal '&&this.options.mode!='vertical'){this.options.mode=' horizontal'}if(Browser.Engine.webkit){window.addEv ent('domready',this.domReady.delay(200,this))}else {window.addEvent('domready',this.domReady.bind(thi s))}},domReady:function(){this.menu=$(this.menu);i f(!$defined(this.menu)){return false}if(this.menu.get('tag')!='ul'){this.menu=thi s.menu.getElement('ul');if(!$defined(this.menu)){r eturn false}}if(this.menu.getStyle('direction')=='rtl'|| $(document.body).getStyle('direction')=='rtl'){thi s.rtl=true;if(Browser.Engine.trident&&$(document.body).getStyle('direction')=='rtl'){thi s.menu.getParent().setStyle('direction','ltr');thi s.menu.setStyle('direction','rtl')}}this.menu.setS tyles({visibility:'hidden',display:'block',overflo w:'hidden',height:0,marginLeft:(Browser.Engine.tri dent?1:-1)});this.createSubmenu(this.menu);if(this.options .mode=='horizontal'){this.menu.getChildren('li').s etStyles({'float':(this.rtl?'right':'left'),displa y:'block',top:0});var a=new Element('li',{html:" ",styles:{clear:(this.rtl?'right':'left'),display:( Browser.Engine.trident?'inline':'block'),position: 'relative',top:0,height:0,width:0,fontSize:0,lineH eight:0,margin:0,padding:0}}).inject(this.menu)}el se{this.menu.getChildren('li').setStyles({display: 'block',top:0})}this.menu.setStyles({height:'auto' ,overflow:'visible',visibility:'visible'});this.me nu.getElements('a').setStyle('display',(Browser.En gine.trident?'inline-block':'block'))},createSubmenu:function(c){var d=c.getChildren('li');var f=0;d.each(function(a){a.setStyles({position:'rela tive',display:'block',top:-f,zIndex:1});f+=a.getSize().y;var b=a.getFirst('ul');if($defined(b)){c.getElements(' ul').setStyle('display','none');if(c==this.menu&&this.options.mode=='horizontal'){a.addClass('subme nu-down');var x=0;var y=a.getSize().y;this.options.link='cancel';a.store ('animation',new Fx.Elements($$(b,b.getChildren('li')).setStyle('op acity',0),this.options))}else{a.addClass('submenu-left');var x=a.getSize().x-(this.rtl&&!Browser.Engine.trident?2:1)*a.getStyle('border-left-width').toInt();var y=-a.getStyle('border-bottom-width').toInt();this.options.link='chain';a.store( 'animation',new Fx.Elements($$(b,b.getChildren('li')).setStyle('op acity',0),this.options));f=a.getSize().y+a.getPosi tion(this.menu).y}b.setStyles({position:'absolute' ,top:y,opacity:0});c.getElements('ul').setStyle('d isplay','block');if(this.rtl){b.setStyles({right:x ,marginRight:-x})}else{b.setStyles({left:x,marginLeft:-x})}this.createSubmenu(b);if(this.options.clickToO pen){a.addEvent('mouseenter',function(){$clear(a.r etrieve('closeDelay'))}.bind(this));a.getFirst('a' ).addEvent('click',function(e){e.stop();$clear(a.r etrieve('closeDelay'));this.showChildList(a)}.bind (this))}else{a.addEvent('mouseenter',function(){$c lear(a.retrieve('closeDelay'));a.store('openDelay' ,this.showChildList.delay(this.options.openDelay,t his,a))}.bind(this))}a.addEvent('mouseleave',funct ion(){$clear(a.retrieve('openDelay'));a.store('clo seDelay',this.hideChildList.delay(this.options.clo seDelay,this,a))}.bind(this))}},this)},showChildLi st:function(b){var c=b.getFirst('ul');var d=$$(c.getChildren('li'));var e=b.retrieve('animation');if(b.getParent('ul')!=th is.menu||this.options.mode=='vertical'){e.cancel() ;var f={0:{opacity:1},1:{opacity:1}};if(this.rtl){f[0]['marginRight']=0}else{f[0]['marginLeft']=0}e.start(f);var g={}}else{var g={0:{opacity:1}}}d.each(function(a,i){g[i+1]={top:0,opacity:1}});b.setStyle('z-index',99);e.start(g)},hideChildList:function(b){v ar c=b.retrieve('animation');var d=b.getFirst('ul');var e=$$(d.getChildren('li'));var f=0;var g={};e.each(function(a,i){g[i+1]={top:-f,opacity:0};f+=a.getSize().y});b.setStyle('z-index',1);if(b.getParent('ul')!=this.menu||this.op tions.mode=='vertical'){g[1]=null;c.cancel();c.start(g);var h={0:{opacity:0},1:{opacity:0}};if(this.rtl){h[0]['marginRight']=-d.getSize().x}else{h[0]['marginLeft']=-d.getSize().x}c.start(h)}else{g[0]={opacity:0};c.start(g)}}});

makol
21-12-2011, 07:10
Imię i nazwisko daj jako "Łącze zewnetrzne", a w polu "Łącze" daj "krzyżyk" (shift+3)

WtorekBW
21-12-2011, 07:23
A no w sumie jest to dobry pomysł ale obawiam się że będę musiał zrobić to "Imię i Nazwisko" całkowicie nieaktywne, niestety to nie zależy ode mnie :/

luqass
21-12-2011, 14:50
separator?

nikszal
21-12-2011, 15:08
Separator jest bardzo często odmiennie formatowany w menu w odróżnieniu od linków.

kurtz
21-12-2011, 15:11
"czarnych" ochrona danych osobowych nie obowiązuje ? kto to widział dawać imię i nazwisko publicznie ?

tam się daje link zewnętrzny #, a nie dłubie w kodzie.

wini74
21-12-2011, 16:54
ja uzywam separator i jest oki

a skoro daje imie nazwisko n stronie to widocznie ma na to zgode

WtorekBW
21-12-2011, 21:11
Dobra zostawiam na razie tego hash'a.



tam się daje link zewnętrzny #, a nie dłubie w kodzie.
Jak pisałem wcześniej to nie zależy ode mnie.

przemo.
22-04-2012, 20:06
Witam, dołączę się ponieważ mam ten sam problem. Jak wrzuce separator to button menu jest niewidoczny a jak zmienie na link zew. i hash czyli # to nie chce mi się rozwijać. Czy jest jeszcze jakaś opcja ?

nikszal
22-04-2012, 21:24
a jak zmienie na link zew. i hash czyli # to nie chce mi się rozwijać
Nie bujaj. Menu podrzędne na linku zewnętrznym z kratką rozwija się, tylko trzeba właczyć tę opcję w module menu.

przemo.
22-04-2012, 21:29
głupi jestem. Nie zauważyłem tej opcji. Dzięki :)