Autor Zpráva
BlackMartin
Profil
V head mám
<script type="text/javascript" language="Javascript" src="mootools.js"></script>
	<script type="text/javascript" language="Javascript">
		window.addEvent('domready', function(){
			//-vertical
			
			var mySlide = new Fx.Slide('comment');
			
			$('slidein').addEvent('click', function(e){
				e = new Event(e);
				mySlide.slideIn();
				e.stop();
			});
			
			$('slideout').addEvent('click', function(e){
				e = new Event(e);
				mySlide.slideOut();
				e.stop();
			});
			
			$('toggle').addEvent('click', function(e){
				e = new Event(e);
				mySlide.toggle();
				e.stop();
			});
			
			$('hide').addEvent('click', function(e){
				e = new Event(e);
				mySlide.hide();
				e.stop();
			});
			
			
			//--horizontal
			
			var mySlide2 = new Fx.Slide('test2', {mode: 'horizontal'});
			
			$('slidein2').addEvent('click', function(e){
				e = new Event(e);
				mySlide2.slideIn();
				e.stop();
			});
			
			$('slideout2').addEvent('click', function(e){
				e = new Event(e);
				mySlide2.slideOut();
				e.stop();
			});
			
			$('toggle2').addEvent('click', function(e){
				e = new Event(e);
				mySlide2.toggle();
				e.stop();
			});
			
			$('hide2').addEvent('click', function(e){
				e = new Event(e);
				mySlide2.hide();
				e.stop();
			});
		}); 
	</script>


A mám div s id="comment" a vněm je formulář a pak mám odkaz s id="toggle" ale po kliknutí by se měl div schovat či zobrazit ale nestane se tak.

V čem je chyba?
Retal
Profil
Co říká Firebug?
BlackMartin
Profil
Žádný error :)
centi
Profil
BlackMartin
Bez kompletného kódu sa ťažko radí. Daj odkaz na stránku.
BlackMartin
Profil
No ten kód tam teďka nemám, protože to blbě vypadá.
Ale v head mám
<script type="text/javascript" language="Javascript" src="mootools.js"></script>

Je to kompletní balíček.
A pak tam mám
<script type="text/javascript" language="Javascript">
		window.addEvent('domready', function(){
			//-vertical
			
			var mySlide = new Fx.Slide('comment');
			
			$('slidein').addEvent('click', function(e){
				e = new Event(e);
				mySlide.slideIn();
				e.stop();
			});
			
			$('slideout').addEvent('click', function(e){
				e = new Event(e);
				mySlide.slideOut();
				e.stop();
			});
			
			$('toggle').addEvent('click', function(e){
				e = new Event(e);
				mySlide.toggle();
				e.stop();
			});
			
			$('hide').addEvent('click', function(e){
				e = new Event(e);
				mySlide.hide();
				e.stop();
			});
			
			
			//--horizontal
			
			var mySlide2 = new Fx.Slide('test2', {mode: 'horizontal'});
			
			$('slidein2').addEvent('click', function(e){
				e = new Event(e);
				mySlide2.slideIn();
				e.stop();
			});
			
			$('slideout2').addEvent('click', function(e){
				e = new Event(e);
				mySlide2.slideOut();
				e.stop();
			});
			
			$('toggle2').addEvent('click', function(e){
				e = new Event(e);
				mySlide2.toggle();
				e.stop();
			});
			
			$('hide2').addEvent('click', function(e){
				e = new Event(e);
				mySlide2.hide();
				e.stop();
			});
		}); 
	</script>


A též tam mám odkaz typu :
<a id="toggle" href="#">Přidat komentář</a>

A v divu s id="comment" mám <fieldset> s <form>.

Vše by mělo být OK ale nefunguje to.
Chamurappi
Profil
Reaguji na BlackMartina:
To jsi nám toho o moc víc nesdělil. Jestli opravdu chceš problém vyřešit, dej sem živou ukázku.
BlackMartin
Profil
Viz. http://martindeveloper.ic.cz/
los
Profil *
>> Co říká Firebug?
> Žádný error :)
A čo je potom toto?: $("slidein") has no properties
BlackMartin
Profil
Aha, mě to nic neřeklo :)
Jak to vyřešit ??
centi
Profil
Jak to vyřešit ??
Pridať do HTML ovládacie prvky s id "slidein" a "slideout", alebo príslušný JS kód pre tieto prvky odstrániť.
los
Profil *
Možno takto:
window.addEvent('domready', function(){
	var mySlide = new Fx.Slide('comment');

	$('toggle').addEvent('click', function(e){
		e = new Event(e);
		mySlide.toggle();
		e.stop();
	});
}); 
BlackMartin
Profil
Super, díky funguje to :)
Ještě malý dotaz, jak to udělat aby to bylo defaultně skryté ?

EDIT: Tak nic fungujeto jen pro ten první :(
los
Profil *
Máš tam viacero elementov s rovnakým id - čakáš od toho, že to bude fungovať?

Keby si identifikoval tie elementy ako "comment-0", "toggle-0", "comment-1", "toggle-1", atď, mohlo by to fungovať nejako takto (písal som to v tejto textaree, takže je dosť možné, že tam sú nejaké chyby, ale princíp je jasný):
window.addEvent('domready', function() {
	var slides = [];

	for (var i = 0; $('comment-' + i) && $('toggle-' + i); ++i) {
		slides[i] = new Fx.Slide('comment-' + i);
		slides[i].hide();

		$('toggle-' + i).addEvent('click', function(e) {
			slides[this.id.split('-')[1]].toggle();
			new Event(e).stop();
		});
	}
});


MooTools nepoužívam, takže dúfam, že !!$('neexistujuci-element') == false.
BlackMartin
Profil
Super, funguje to :)
Děkuju moc.

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:

0