Autor Zpráva
trancemaniac
Profil *
Ahoj, kdo by byl tak ochotný a předělal by mi tento řádek v jQuery
 $(".itemBox"+id+" .leftMenuUl li").slideToggle(200);

na kód pro mootools. Bohužel musím kvůli galerii použít mootools, tak jsem civěl asi 2 hodiny do dokumentace mootools, na google a nepřišel jsem prostě na to. V jQuery jsem tenhle jeden řádek měl za ani ne 5 minut, ale tohle je nějak moc složitý :/
Díky

Moderátor Chamurappi: Titulek „JQuery vs. mootools“ nevystihuje podstatu dotazu. Příště zkus prosím vymyslet lepší.
Moderátor Chamurappi: Titulek „Kdo by mi předělal slideToggle z MooTools do jQuery?“ také nevystihuje podstatu dotazu, příště zkusím vymyslet lepší, díky ah01 za upozornění.
Molda
Profil
toggle
trancemaniac
Profil *
Nevim, nechápu, ale toggle mi nefunguje. Zkoušel jsem
$('menu').setStyle('width', 300);
$('menu').toggle(); 

Šířka 300px se mi nastaví, ale toggle nejede. Navíc nechápu jak u mootools vyberu třídy? Tohle funguje jen na id.
Nemám čas a ani se mi s tím nechce tak zabývat, když potřebuju předělat jen jeden jednoduchý řádek a víc už se k mootools vracet nebudu.
Byl by někdo tak hodný a přepsal mi to? Třída itemBox+id, třída leftMenuUl a tag li. K tomu funkce toggle. Děkuju
Molda
Profil
zkus tohle ,ale je to jen s id , s třídama ti neporadím

var mySlide = new Fx.Slide('idecko');	
mySlide.toggle();
	


odkaz na stažení ukázky tady tady je to zip
trancemaniac
Profil *
Fajn, díky za pomoc. Ale bez tříd to je celkem blbý, idčka tam dát nemůžu kvůli validaci a musel bych to celé předělat.
To je MooTools tak neohrabaný? Neví někdo prosím jak s těma třídama?
ah01
Profil
trancemaniac:
Koncepce MooTools je trochu jiná než jQuery a jeho použití je pro neprogramátora možná trochu obtížnější, než jak je tomu u jQuery.

Pokud ti stačí funkční kód:

$$(".itemBox" + id + " .leftMenuUl li").slide("toggle");
(ukázka)


Pokud chceš pochopit co to vlastně dělá:

// pole elementů odpovídající danému selectoru
var elements = $$(".neco");
    
// vytvoří pole objektů Fx.Slide pro každý element v poli
var silders = elements.map(function(element){
      return new Fx.Slide(element);
});

// obsluha události
$("toggle").addEvent("click", function(){   
    // projde všechny Fx.Slide objekty v poli a zavolá toggle
    silders.each(function(slider){
            slider.toggle();
    });
});
(ukázka)

Pokud použiješ verzi s rozšířením More (což použiješ, protože v ní je většina efektů včetně Fx.Slide), můžeš používat Fx.Slide přímo jako metodu Elementu slide(). Fce. $$ vrací pole Elementů a MooTools umožňuje volat všechny metody objektu Element přímo na tomto poli. Proto je možné napsat vše na jeden řádek, jak je vidět výše.

PS: Rozhodně bych neřekl, že MooTools je neohrabaný.
trancemaniac
Profil *
Moc díky za pomoc. Vše jsem si prostudoval. Ten příklad jsem si zkopíroval, ale toggle opět nefunguje. Už tomu opravdu nerozumím.
Zde je kód. Oba alerty i nastavení šířky se provede, jen toggle ne.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
  <meta http-equiv="content-type" content="text/html; charset=utf-8">
  <meta name="generator" content="PSPad editor, www.pspad.com">;
  <script charset="utf-8" src="mootools-1.2.4-core-nc.js" type="text/javascript"></script>
  <script charset="utf-8" type="text/javascript">
window.addEvent('domready', function() {
    
    alert("Pred");
    $$('.neco').setStyle('width', 300);
  
  $("toggle").addEvent("click", function(){   
    $$(".neco").slide("toggle");    
  });;
   alert("Za"); 
    
    
});
  </script>
  <title></title>
  <style type="text/css">
    .neco{
    background-color: #000;
    color: #fff;
    padding: 5px;
    margin: 5px;
  }
  </style>
  </head>
  <body>

<div class="neco">Lorem Ipsum 1</div>
<div class="neco">Lorem Ipsum 2</div>
<div class="neco">Lorem Ipsum 3</div>

<div>
    <a href="#" id="toggle">Toggle!</a>
</div>

  </body>
</html>

Nevíte čím by to mohlo být? Děkuju
trancemaniac
Profil *
Tak už je to ok. Moc děkuju ah01 za snahu :)

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: