| | |
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Autor | Správa |
---|
Registrovaný: 15.08.09 Prihlásený: 14.12.17 Príspevky: 14 Témy: 5 |
Zdravim riesim mensi problem v JS.
mam kod v html :
Kód: <div id="_ctl0_Fmenu_PriceListByTypes" class="TableCss"> <div class="HeaderCss" align="left"> <a href="..." id="PriceListByTypesFullLink">Kategória »</a> </div> <ul class="PLHidsMenu"> <li class="PL1"><span>...</span></li> <li class="PL2"><a href="" title=""></a></li> <li class="PL2"><a href="" title=""></a></li> </ul> </div>
a k tomu JS : Kód: function SDMenu(id) { if (!document.getElementById || !document.getElementsByTagName) return false; this.menu = document.getElementById(id); this.submenus = this.menu.getElementsByTagName("div"); this.remember = true; this.speed = 3; this.markCurrent = true; this.oneSmOnly = false; } SDMenu.prototype.init = function() { var mainInstance = this; for (var i = 0; i < this.submenus.length; i++) this.submenus[i].getElementsByTagName("span")[0].onclick = function() { mainInstance.toggleMenu(this.parentNode); }; if (this.markCurrent) { var links = this.menu.getElementsByTagName("a"); for (var i = 0; i < links.length; i++) if (links[i].href == document.location.href) { links[i].className = "current"; break; } } if (this.remember) { var regex = new RegExp("sdmenu_" + encodeURIComponent(this.menu.id) + "=([01]+)"); var match = regex.exec(document.cookie); if (match) { var states = match[1].split(""); for (var i = 0; i < states.length; i++) this.submenus[i].className = (states[i] == 0 ? "collapsed" : ""); } } }; SDMenu.prototype.toggleMenu = function(submenu) { if (submenu.className == "collapsed") this.expandMenu(submenu); else this.collapseMenu(submenu); }; SDMenu.prototype.expandMenu = function(submenu) { var fullHeight = submenu.getElementsByTagName("span")[0].offsetHeight; var links = submenu.getElementsByTagName("a"); for (var i = 0; i < links.length; i++) fullHeight += links[i].offsetHeight; var moveBy = Math.round(this.speed * links.length); var mainInstance = this; var intId = setInterval(function() { var curHeight = submenu.offsetHeight; var newHeight = curHeight + moveBy; if (newHeight < fullHeight) submenu.style.height = newHeight + "px"; else { clearInterval(intId); submenu.style.height = ""; submenu.className = ""; mainInstance.memorize(); } }, 30); this.collapseOthers(submenu); }; SDMenu.prototype.collapseMenu = function(submenu) { var minHeight = submenu.getElementsByTagName("span")[0].offsetHeight; var moveBy = Math.round(this.speed * submenu.getElementsByTagName("a").length); var mainInstance = this; var intId = setInterval(function() { var curHeight = submenu.offsetHeight; var newHeight = curHeight - moveBy; if (newHeight > minHeight) submenu.style.height = newHeight + "px"; else { clearInterval(intId); submenu.style.height = ""; submenu.className = "collapsed"; mainInstance.memorize(); } }, 30); }; SDMenu.prototype.collapseOthers = function(submenu) { if (this.oneSmOnly) { for (var i = 0; i < this.submenus.length; i++) if (this.submenus[i] != submenu && this.submenus[i].className != "collapsed") this.collapseMenu(this.submenus[i]); } }; SDMenu.prototype.expandAll = function() { var oldOneSmOnly = this.oneSmOnly; this.oneSmOnly = false; for (var i = 0; i < this.submenus.length; i++) if (this.submenus[i].className == "collapsed") this.expandMenu(this.submenus[i]); this.oneSmOnly = oldOneSmOnly; }; SDMenu.prototype.collapseAll = function() { for (var i = 0; i < this.submenus.length; i++) if (this.submenus[i].className != "collapsed") this.collapseMenu(this.submenus[i]); }; SDMenu.prototype.memorize = function() { if (this.remember) { var states = new Array(); for (var i = 0; i < this.submenus.length; i++) states.push(this.submenus[i].className == "collapsed" ? 0 : 1); var d = new Date(); d.setTime(d.getTime() + (30 * 24 * 60 * 60 * 1000)); document.cookie = "sdmenu_" + encodeURIComponent(this.menu.id) + "=" + states.join("") + "; expires=" + d.toGMTString() + "; path=/"; } };
no nechce mi to fungovat... problem je aj v tom, ze ten HTML kod sa menit nemoze...
prosim poradte... dik...
|
|
Registrovaný: 13.11.07 Prihlásený: 20.08.16 Príspevky: 1702 Témy: 0 | Napísal chrono: 17.02.2011 17:31 | |
|
"Nechce mi to fungovať" nie je vysvetlenie problému, takže ak chceš, aby ti niekto poradil, budeš musieť napísať, čo to má robiť a čo to robí teraz a ideálny by bol aj odkaz na živú ukážku.
|
|
Registrovaný: 15.08.09 Prihlásený: 14.12.17 Príspevky: 14 Témy: 5 |
trocha som to prerobil... takto to vyzera... nejdu mi tie jednotlive kategorie rozkliknut...
Kód: http://expertcomp.sk/menu.html
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 17.02.2011 21:59 | |
|
Nejdú? Podľa mňa ti idú, až moc ti idú.
Čo podľa teba robí tento kód?
Kód: $('.PL1').click(function () { $('ul li.PL2').slideToggle('medium'); });
Poradím ti - myslíš, že sa otvorí len tá druhá úroveň, ktorá patrí tej prvej, na ktorú si klikol? Alebo sa rozbalia všetky položky druhej úrovne?
Keď odpovieš na tieto otázky a zistíš, kde robíš chybu, tak by som na tvojom mieste začal tým, že by som položky druhej úrovne "vnoril" do položiek prvej úrovne. Čiže <li> prvej úrovne bude v sebe obsahovať celý zoznam <ul> druhej úrovne. Chápeš?
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 15.08.09 Prihlásený: 14.12.17 Príspevky: 14 Témy: 5 |
shaggy chapem, ale problem je v tom ze ten HTML kod je pevne dany a nedokaze sa zmenit... ak by sa dal zmenit uz davno to spravim to mi ver...
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 17.02.2011 22:48 | |
|
Tak si odmysli tú poslednú vetu môjho príspevku - stále platí, že rozbaľuješ všetky položky druhej úrovne. V tomto prípade budeš musieť roztvárať nasledujúceho "súrodenca", ktorý má class PL2.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
Registrovaný: 15.08.09 Prihlásený: 14.12.17 Príspevky: 14 Témy: 5 |
no tak to uplne nechapem... v scripte som snad upravoval a skusal vsetko... no nic i tak dik...
|
|
Registrovaný: 21.02.06 Prihlásený: 08.12.14 Príspevky: 5404 Témy: 30 Bydlisko: Bratislava | Napísal shaggy: 18.02.2011 15:13 | |
|
Ani by to nefungovalo, zle som si pozrel tvoj kód - ty vieš "rozbaliť" nasledujúce LI s class PL2, ale neviem si predstaviť, ako by si rozbalil tie ďalšie. Proste je to zle napísaný html kód a kým ho nezmeníš, nič s tým neurobíš. Netuším, prečo ho nemôžeš meniť, ale je to jediná možnosť.
_________________ Neradím a nekomunikujem cez SS, ak niečo potrebujete, máte iné možnosti: Ak vám zmizla téma, alebo sa vám niečo nepáči. Ak potrebujete nahlásiť príspevok/človeka, reportujte ho. Ak máte s niečim problém, riešte to v danej téme. |
|
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| Uprava JavaScriptu .... v JavaScript, VBScript, Ajax | 4 | 684 | 22.01.2011 10:46 DeeJay3 | | Vyuka Javascriptu v JavaScript, VBScript, Ajax | 4 | 743 | 07.04.2009 16:01 juho | | blokovanie javascriptu v JavaScript, VBScript, Ajax | 8 | 1012 | 12.02.2009 8:38 Tominator | | Podpora Javascriptu v JavaScript, VBScript, Ajax | 2 | 1007 | 06.03.2007 17:39 mokus | | Spustenie javascriptu z URL v JavaScript, VBScript, Ajax | 2 | 644 | 11.08.2009 23:00 Blackshadow | | <title> pomocou javascriptu v JavaScript, VBScript, Ajax | 8 | 830 | 10.10.2007 19:02 zero0x | | Select a option pomocou JavaScriptu v JavaScript, VBScript, Ajax | 8 | 695 | 28.12.2008 23:12 blackman545 | | Blokovnie IP pomocou javascriptu - Chyba v JavaScript, VBScript, Ajax | 11 | 856 | 22.10.2011 10:33 shaggy | | Údaje z Javascriptu na server v JavaScript, VBScript, Ajax | 1 | 439 | 27.07.2016 12:49 BX | | php script na zistenie zapnutia javascriptu v PHP, ASP | 18 | 1815 | 10.07.2008 9:56 GoodWill | | zapis do txt suboru pomocou javascriptu v JavaScript, VBScript, Ajax | 11 | 733 | 22.01.2015 23:15 chrono | | načitanie dát z databazy do javascriptu v JavaScript, VBScript, Ajax | 15 | 926 | 05.09.2011 21:20 Pablo Montero | | prehladávač mi obmedzil zobrazovanie obsahu javascriptu v JavaScript, VBScript, Ajax | 14 | 973 | 22.01.2007 17:03 imnotwhafo | | Viete, prečo vás bolí hlava z javascriptu? v JavaScript, VBScript, Ajax | 2 | 1475 | 16.04.2011 19:06 chrono | | Stane sa nový programovací jazyk Dart náhradou JavaScriptu? v Novinky | 5 | 628 | 21.10.2011 15:46 1daemon1 | | Dart 1.0, alternatíva JavaScriptu, pripravený pre vývojárov v Novinky | 2 | 385 | 20.11.2013 7:55 Johnnny |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|