php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 25.06.2010, 21:21  
Benutzer
 
Registriert seit: 18.02.2010
Beiträge: 54
PHP-Kenntnisse:
Fortgeschritten
Codercrush ist zur Zeit noch ein unbeschriebenes Blatt
Standard [Erledigt] jquery mehrmaliges event verhindern?

Guten abend,

ich spiele seite heute mit dem jquery-framework rum und bin da auf ein "problem" gestoßen ... siehe unten

Script:
Code:
$("a").click(function(event)
{
	event.preventDefault();
		
	$.get($(this).attr("href"), function(data)
	{
		$("#bla").fadeOut('fast');
   		$("#bla").html(data);
   		$("#bla").fadeIn('slow');
 	});	
});

Html:
Code:
<P><A href="page1.txt">Seite 1</A></P>
<P><A href="page2.txt">Seite 2</A></P>
<P><A href="page3.txt">Seite 3</A></P>
		
<P>
		
	<DIV id="bla">
	</DIV>	
			
</P>
ich laden mit den links inhalt aus einer txt datei und schreibe es in mein div mit der id "bla" ... soo ... mein problem ist nun dass wenn ich mehrmals hintereinander auf einen der links klicke dann blinkt das halt so oft wie ich gedrückt habe ... is ja auch logisch aber kann ich den link irgendwie sperren oder gibts da irgendeine andere möglichkeit zu verhindern dass wärend eine aktion ausgeführt wird kein anderer link geladen werden kann ... oder so^^

... danke schonmal
__________________
Ich würde so gern die Welt verändern doch Gott gibt mir den Quellcode nicht.
Compiler sind wie Franzosen.. schnauzen einen immer nur an, wenn man ihre Sprache nich perfekt spricht.
Codercrush ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 25.06.2010, 21:54  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Den Event kannst du nicht verhindern - aber deine Reaktion darauf kann jeweils unterschiedlich ausfallen.
Bspw. mittels eines Flags kannst du doch ganz einfach entscheiden, ob du etwas tun willst, oder ob gerade noch ein anderer Verarbeitungsprozess aktiv ist.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 25.06.2010, 21:57  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Selber Schuld wenn jemand so oft drauf klickt

Du könntest die alte Animation direkt am Anfang der Funktion beenden, also mit sowas wie $("#bla:animated").stop(true, true); wird eben die Animation (und alle folgenden unterbrochen). Somit wird eben die Animation des letzten Klicks noch komplett ausgeführt.

Oder du setzt am Anfang der Funktion eine Variable "lock" auf true, am Ende der Funktion dann wieder auf false. Und bei jedem mal wenn die Funktion aufgerufen wird wird überprüft ob "lock" auf false steht, wenn nicht weißt du dass die Funktion gerade schon ausgeführt wird und du machst nichts, also der Klick hat keine Auswirkung.
Flor1an ist offline   Mit Zitat antworten
Alt 25.06.2010, 22:14  
Benutzer
 
Registriert seit: 18.02.2010
Beiträge: 54
PHP-Kenntnisse:
Fortgeschritten
Codercrush ist zur Zeit noch ein unbeschriebenes Blatt
Standard

cool danke ... ich habs jetzt mit "$("#bla:animated").stop(true, true);" gelöst ... hab da aber noch ne frage ... wenn ich auf den link klicke ... dann sehe ich in meinem div den geladenen content dann klappt er es zu und dann klappt er es aus ... also ich den geladenen content schon vor den animationen ... kann ich dass auch verhindern oder bin ich zu pingelig^^ xD
__________________
Ich würde so gern die Welt verändern doch Gott gibt mir den Quellcode nicht.
Compiler sind wie Franzosen.. schnauzen einen immer nur an, wenn man ihre Sprache nich perfekt spricht.
Codercrush ist offline   Mit Zitat antworten
Alt 25.06.2010, 22:16  
da schreibt der ElePHPant
 
Benutzerbild von Flor1an
 
Registriert seit: 18.06.2008
Beiträge: 8.903
PHP-Kenntnisse:
Fortgeschritten
Flor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer AnblickFlor1an ist ein wunderbarer Anblick
Standard

Ja du kannst den Content in ner Callback Funktion laden.

Code:
$("#bla").fadeOut('fast', function() {
    $("#bla").html(data);
    $("#bla").fadeIn('slow');
});
Flor1an ist offline   Mit Zitat antworten
Alt 25.06.2010, 22:25  
Benutzer
 
Registriert seit: 18.02.2010
Beiträge: 54
PHP-Kenntnisse:
Fortgeschritten
Codercrush ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke ...

mit der callback funktion kann ich das "stop" jetzt auch weglassen ... dankeschön

Code:
$("a").click(function(event)
{
   event.preventDefault();
   //$("#bla:animated").stop(true, true);
		
   $.get($(this).attr("href"), function(data)
   {
      $("#bla").fadeOut('fast', function() 
      {
         $("#bla").html(data)
                     .fadeIn('slow');
      });
   });
});
... ist geschlossen ... gruß Codercrush
__________________
Ich würde so gern die Welt verändern doch Gott gibt mir den Quellcode nicht.
Compiler sind wie Franzosen.. schnauzen einen immer nur an, wenn man ihre Sprache nich perfekt spricht.
Codercrush ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
jQuery findet Element nicht ByStones JavaScript, Ajax und mehr 8 11.06.2010 14:03
jQuery Plug scroll to - wie einbetten? mxxxx JavaScript, Ajax und mehr 5 24.04.2010 18:12
Bei Upload mit Jquery Multifile-Plugin wird immer nur eine Datei hochgeladen Silent PHP Tipps 2010 20 25.02.2010 08:24
jQuery Dokus/Tuts MaiKaY Off-Topic Diskussionen 9 25.09.2009 16:52
variable mit onclick an php drombusch PHP Tipps 2009 8 30.08.2009 14:45
[Erledigt] OnClick event abbrechen Frank JavaScript, Ajax und mehr 4 25.08.2009 12:15
[Erledigt] jquery ajax, event bei nachgeladenem div auslösen mad JavaScript, Ajax und mehr 9 20.08.2009 21:39
[Erledigt] jQuery Dateien nachladen Phoscur JavaScript, Ajax und mehr 7 14.03.2009 13:44
jQuery Plugin - so richtig? stayInside JavaScript, Ajax und mehr 5 23.02.2009 12:34
Event: User Regestrierung in die Datenbank??? Dunkelelf9 Datenbanken 2 22.12.2008 15:49
For Schleife mit jQuery phpbeginner JavaScript, Ajax und mehr 3 22.11.2008 22:35
jQuery: Parameter an onclick Event ecomeback HTML, Usability und Barrierefreiheit 1 08.04.2008 11:23
Event in Kalender ausgeben zoro PHP Tipps 2007 3 02.05.2007 13:40
Mehrmaliges deklarieren einer Funktion PHP Tipps 2005-2 3 18.07.2005 15:24
[Erledigt] probleme mit event datenbank Datenbanken 1 04.09.2004 00:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
jquery doppelklick verhindern, jquery animation abbrechen, jquery funktion beenden, jquery animation unterbrechen, jquery function stoppen, jquery function beenden, jquery doppelklick, jquery markieren verhindern, jquery event abbrechen, jquery click verhindern, jquery click unterbinden, jquery event verhindern, jquery funktion stoppen, jquery event beenden, jquery function abbrechen, jquery funktion abbrechen, jquery event unterbrechen, jquery unterbrechen, jquery stop event, jquery fadeout beenden

Alle Zeitangaben in WEZ +2. Es ist jetzt 08:52 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum