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 23.12.2011, 14:09  
Neuer Benutzer
 
Registriert seit: 01.11.2009
Beiträge: 4
PHP-Kenntnisse:
Fortgeschritten
Hardprogrammer befindet sich auf einem aufstrebenden Ast
Standard JavaScript While-Schleife - Solange die Maus gedrückt ist

Hallo zusammen,

Für eine bestimmte Problemlösung möchte ich einen Eventhandler für onmousemove so schreiben, dass - solange die Maus gedrückt ist - eine bestimmte Aktion durchgeführt wird.

Hierzu benutze ich bislang dieses Script:

Code:
<html>
<head>
<script type="text/javascript" language="JavaScript">
var mousepressed = false;

function proceed(Ereignis)
{
	var i = 1;
	while (mousepressed)
	{
		i = i+1;
	}
	alert(i);
}

function start(evt)
{
	if ( evt.which == 1 )
		mousepressed = true;
}

function stop(evt)
{
	if ( evt.which == 1 )
		mousepressed = false;
}

document.onmousedown = start;
document.onmouseup = stop;
document.onmousemove = proceed;
</script>
</head>
<body>
</body>
</html>
Hier habe ich allerdings folgendes Problem: Sobald ich die Maustaste gedrückt halte und dann das OnMouseMove-Event durch bewegen der Maus aufrufe, bleibt der Browser hängen. Ursache dafür dürfte die Endlosschleife sein, die durchlaufende Schleife behindert das OnMouseUp-Event.

Nun meine Frage: Wie kann ich das Problem lösen, ohne dass alles hängen bleibt, und es trotzdem so funktioniert, wie ich möchte, nämlich, dass die while-Schleife so lange durchlaufen wird, wie die Maus bei gedrückter Taste bewegt wird und anschließend, nachdem die Maus losgelassen wurde, die Zahl der Durchläufe ausgegeben wird.

Ich freue mich auf alle Antworten!
Hardprogrammer ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.12.2011, 14:47  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Die mousemove-events kommen laufend, wenn du die Maus bewegst. Endlosschleifen sind der Tod für jeden Browser ! Was für "Durchläufe" willst du zählen ?
jspit ist offline   Mit Zitat antworten
Alt 23.12.2011, 19:04  
Erfahrener Benutzer
 
Registriert seit: 03.08.2010
Beiträge: 300
PHP-Kenntnisse:
Fortgeschritten
Asterixus sorgt für eine eindrucksvolle AtmosphäreAsterixus sorgt für eine eindrucksvolle Atmosphäre
Asterixus eine Nachricht über Skype™ schicken
Standard

PHP-Code:
var 0;
var 
down false;
window.document.addEventListener("mousedown", function(event) {
  if (
event.which === 1) {
    
down true;
    
window.setTimeout(function() {
      if (
down) {
        
i++;
        
window.setTimeout(arguments.callee1);
      }
    }, 
1);
  }
}, 
false);
window.document.addEventListener("mouseup", function(event) {
  if (
event.which === 1) {
    
down false;
  }
}); 
Ungetestet.
Asterixus 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
While schleife teilen WAIDI PHP Einsteiger 1 06.05.2011 23:16
javascript schleife erzeugen Powerburning JavaScript, Ajax und mehr 8 17.04.2011 20:39
[Erledigt] Problem mit MYSQL Abfrage in einer While Schleife mirko911 PHP Einsteiger 1 11.04.2011 11:54
[Erledigt] Wieso While Schleife endlos? JackSparrow PHP Einsteiger 8 02.02.2011 22:33
while Schleife abbrechen webdino PHP Tipps 2010 14 06.07.2010 10:39
while schleife in form kyle2010 PHP Tipps 2010 3 19.04.2010 18:14
[Erledigt] fpdf multicell - ausgabe in while schleife fulltilt PHP Tipps 2010 1 19.02.2010 09:58
1101: 10x JavaScript und kein Ende ist abzusehen… Nikolaus 2.0 Adventskalender 2008 9 13.12.2008 20:11
Problem mit Db+Bild in der while Schleife Janika PHP Tipps 2008 10 17.09.2008 20:39
mysql_query verschmelzen zweier abfragen (while schleife) Buschdieb PHP Tipps 2006 10 15.07.2006 17:11
while schleife - spezial datensatz einblenden Buschdieb PHP Tipps 2006 2 09.04.2006 13:05
while Schleife gibt nicht alle Daten aus PHP Tipps 2006 2 12.01.2006 19:24
[Erledigt] While schleife in while schleife = nur ein datensatz?! PHP Tipps 2005-2 9 28.10.2005 12:48
javascript countdown in while scheife Ohrwurm83 PHP Tipps 2004 1 02.07.2004 16:50
Prob mit While schleife JEGO PHP Tipps 2004 2 04.06.2004 12:01

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
while maus ist gedrueckt, js while bis eine taste gedrückt wird, solange maus gedrückt javascript, handler solange die maus gedrückt ist, javascript while schleife hängt sich auf, javascript schleife wenn maus down, javscript schleife wenn maus down, javascript mousemove taste gedrückt, javascript mausgedrückt, while-schleife nach mouseup verlassen, javascript mouse gedrückt halten event, javascript while stop, javascript wie lange ist die maustaste gedrückt, sollange maus gedückt ist javascript, javascript funktion schleife wenn mause gedrückt, javascript while mouse pressed, js while mousepressed, javascript maustaste gedrückt halten, javascript solange maus gedrückt, html5 canvas while mousepressed

Alle Zeitangaben in WEZ +2. Es ist jetzt 11:57 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