Autor | Zpráva | ||
---|---|---|---|
Smoother Profil |
#1 · Zasláno: 26. 7. 2010, 17:47:44
Ahoj,
mám následující problém: Buď mi funguje menu s knihovnou Mootools, nebo slideshow galerie, podle toho které soubory jsou v <head> Nesetkal se někdo s tím? Existuje obecná rada? Díky S. |
||
Witiko Profil |
#2 · Zasláno: 26. 7. 2010, 17:58:29 · Upravil/a: Witiko
Knihovny si můžou navzájem přepisovat window.onload (Pisatel kódu možná nenávidí attachEvent a addEventListener pro přehlednou práci s eventy stejně jako moderátor Chamurappi? :) ). Bez živé ukázky těžko posoudit, tohle vypadá jako nejpravděpodobnější varianta. Nebo si navzájem přepsaly nějaké globální proměnné.
|
||
Smoother Profil |
#3 · Zasláno: 26. 7. 2010, 18:17:20 · Upravil/a: Smoother
Je to dlouhé, tak nevím, zda to sem mám dávat komplet...
menu UDD.js: var UvumiDropdown = new Class({ Implements:Options, options:{ clickToOpen:false, //if set to true, must click to open submenues openDelay:150, //if hover mode, duration the mouse must stay on target before submenu is opened. if exits before delay expires, timer is cleared closeDelay:500, //delay before the submenu close when mouse exits. If mouse enter the submenu again before timer expires, it's cleared duration:250, //duration in millisecond of opening/closing effect link:'cancel', transition:Fx.Transitions.linear, //effect's transitions. See http://docs.mootools.net/Fx/Fx.Transitions for more details mode:'vertical' //if set to horizontal, the top level menu will be displayed horizontally. If set to vertical, it will be displayed vertically. If it does not match any of those two words, 'horizontal' will be used. }, initialize: function(menu,options){ this.menu = menu; this.setOptions(options); if(this.options.mode != 'horizontal' && this.options.mode != 'vertical'){ this.options.mode = 'horizontal'; } //some versions of Safari and Chrome run domready before DOM is actually ready, causing wrong positioning. If you still have some display issues in those browser try to increase the delay value a bit. I tried to keep it as low as possible, but sometimes it can take a bit longer than expected if(Browser.Engine.webkit){ window.addEvent('domready',this.domReady.delay(200,this)); }else{ window.addEvent('domready',this.domReady.bind(this)); } }, domReady:function(){ this.menu = $(this.menu); if(!$defined(this.menu)){ return false; } //if passed element is not a UL, tries to find one in the children elements if(this.menu.get('tag')!='ul'){ this.menu = this.menu.getElement('ul'); if(!$defined(this.menu)){ return false; } } //handles pages written form right to left. if(this.menu.getStyle('direction') == 'rtl' || $(document.body).getStyle('direction') == 'rtl'){ this.rtl = true; if(Browser.Engine.trident && $(document.body).getStyle('direction') == 'rtl'){ this.menu.getParent().setStyle('direction','ltr'); this.menu.setStyle('direction','rtl'); } } //start setup this.menu.setStyles({ visibility:'hidden', display:'block', overflow:'hidden', height:0, marginLeft:(Browser.Engine.trident?1:-1) }); //we call the createSubmenu function on the main UL, which is a recursive function this.createSubmenu(this.menu); //the LIs must be floated to be displayed horisotally if(this.options.mode=='horizontal'){ this.menu.getChildren('li').setStyles({ 'float':(this.rtl?'right':'left'), display:'block', top:0 }); //We create an extar LI which role will be to clear the floats of the others var clear = new Element('li',{ html:" ", styles:{ clear:(this.rtl?'right':'left'), display:(Browser.Engine.trident?'inline':'block'), //took me forever to find that fix position:'relative', top:0, height:0, width:0, fontSize:0, lineHeight:0, margin:0, padding:0 } }).inject(this.menu); }else{ this.menu.getChildren('li').setStyles({ display:'block', top:0 }); } this.menu.setStyles({ height:'auto', overflow:'visible', visibility:'visible' }); //hack for IE, again this.menu.getElements('a').setStyle('display',(Browser.Engine.trident?'inline-block':'block')); }, A slide show: window.addEvent('domready', function(){ var transition = 'alternate'; $$('input[name=transition]').addEvent('click', function(){ transition = this.value; }); var slideAvailable = ['slide-left', 'slide-right', 'slide-top', 'slide-bottom', 'fade']; var slideTransition = function(){ switch(transition){ case 'alternate': if(! $defined(this.count)) this.count = -1; return slideAvailable[++this.count % slideAvailable.length]; case 'random': return slideAvailable.getRandom(); default: return transition; } } new BarackSlideshow('menu', 'pictures', 'loading', {transition: 'fade', auto: true}); Ale těch JavaScriptů je tam mnoho... Tak nevím, co se vzájemně bije. Díky S. |
||
ah01 Profil |
#4 · Zasláno: 26. 7. 2010, 18:40:53
Smoother:
„Ale těch JavaScriptů je tam mnoho...“ Z kousku JS, který náhodně vykopíruješ, ti těžko někdo poradí. Nejlepší bude, když sem dáš odkaz na živou ukázku. |
||
Smoother Profil |
#5 · Zasláno: 26. 7. 2010, 18:47:50
sorry, blbnu:
Odkaz Jedná se jen o homepage Menu jede - je prioritní, nejede slideshow... Scripty jsou rozdělené linkem na css soubor: uvumi-dropdown-vertical.css - nad ním jsou soubory pro slideshow, pod ním pro menu Díky předem S. |
||
Smoother Profil |
#6 · Zasláno: 26. 7. 2010, 19:17:18
Za vyřešení mého problému autora samozřejmě finančně odměním!
|
||
Smoother Profil |
#7 · Zasláno: 27. 7. 2010, 09:13:13
Tak co pánové (a dámy),
najde se někdo, kdo za úplatu pomůže? Díky předem S. |
||
Witiko Profil |
#8 · Zasláno: 27. 7. 2010, 11:50:27 · Upravil/a: Witiko
Trochu jsem to script prolézal a zdálo se mi, jako by na konci souboru BarackSlideshow.js chybělo }); na uzavření definice třídy.
Pokud to není ten problém, skoro bych požádal o zaslání zdrojových kódů stránek, abych to mohl testovat z localhostu, prolézat to přes fireBug z online verze je malinko opruz, navíc nemůžu testovat se změnami v kódu. :) |
||
Smoother Profil |
#9 · Zasláno: 27. 7. 2010, 13:05:12
Witiko:
Díval jsem se na to v PSPadu, všechny závorky jsou párové, tzn. uzavřené by mělo být vše... Ad zdroj: stačí vykopírovat jednotlivé soubory, co konkrétně potřebuješ? Kam po mám případně poslat? Komunikace možná přes smoother(zavináč)centrum Díky |
||
Kcko Profil |
#10 · Zasláno: 27. 7. 2010, 13:11:30
Smoother:
Obecně se zeptám, musí na to být použito MooTools? |
||
Witiko Profil |
#11 · Zasláno: 27. 7. 2010, 13:21:27
Smoother:
Co jsem v kódu viděl, to jsem viděl, nicméně nevěřím zcela stoprocentně Opeře Dragonflight. Poslal jsem ti na e-mail, co bych potřeboval. |
||
Smoother Profil |
#12 · Zasláno: 27. 7. 2010, 13:25:28
Kcko:
designově se mi líbí jejich řešení, a hlavně už je to zpracované... Witiko se ozval jako první tak počkám na jeho řešení... Zatím díky S. |
||
Kcko Profil |
#13 · Zasláno: 27. 7. 2010, 13:26:44
Smoother:
Oky, žádný problém. |
||
Časová prodleva: 9 dní
|
|||
Smoother Profil |
#14 · Zasláno: 5. 8. 2010, 10:31:34 · Upravil/a: Smoother
Protože Witiko přestal komunikovat, problém je nevyřešen.
Problém je popsaný zde: Vzájemně se "bijí" dvě js knihovny: mootools-1.2.1-core-yc.js a mootools-for-dropdown.js. Druhý soubor není žádný plugin, ale ořezaná verze mootools jádra, která původní jádro předefinuje. Evidentním řešením by bylo použít pouze mootools jádro a plugin nabízený na stránce uvumiTools, nicméně v tom případě opět chybí pluginu pro menu nějaké funkce... Jde o placenou zakázku dle dohody, prosím jen vážné zájemce. SPĚCHÁ smoother(zavináč)centrum |
||
_es Profil |
#15 · Zasláno: 5. 8. 2010, 11:01:43
Smoother:
Myslíš, že je dobré dať na firemnú stránku celkovo 9 externých JS súborov? Zaujíma sa zákazník v prvom rade o nejaké animácie alebo skôr o tovar a ceny? |
||
Smoother Profil |
#16 · Zasláno: 5. 8. 2010, 11:25:29
_es:
Co si budeme povídat, design prodává... Ano, má to cca 200kb, ale kromě toho v tom problém nevidím. Ale kromě jiného je tato zakázka od toho, abych dostal takové řešení, kdy se tyto dvě knihovny spojí... Nebo je jiné řešení? |
||
_es Profil |
#17 · Zasláno: 5. 8. 2010, 11:38:01
Smoother:
„Ano, má to cca 200kb, ale kromě toho v tom problém nevidím.“ 1) Musí sa to stiahnuť, navyše až na 9 krát, teda obvykle ešte pomalšie než jeden 200 kB súbor. 2) Prehliadač musí všetky tie JS súbory spracovať - interpretovať alebo skompilovať, na 9 krát, teda na slabších počítačoch ďalší problém. „takové řešení, kdy se tyto dvě knihovny spojí“ Zvyčajným počtom knihovní JS na stránke je 0 alebo 1. Iný počet obvykle znamená zlý návrh. |
||
Smoother Profil |
#18 · Zasláno: 5. 8. 2010, 11:50:19
_es:
OK, rozumím a souhlasím. I toto může být součástí zakázky... Takže má někdo zájem? Díky předem... smoother(zavináč)centrum |
||
Časová prodleva: 14 let
|
0