Broserfenster per Button verschieben
Husky
- javascript
Hallo,
ist es nmöglich, ein Fenster über einen Button zu verrschieben? Ich stelle mir das so vor als würde ich in die Menüleiste klicken, festhalten und verschieben.
Oder geht das nur über vier Buttons?
Danke
Husky
Hi,
ist es nmöglich, ein Fenster über einen Button zu verrschieben?
"im Prinzip ja" - schau Dir mal die DHTML-Beispiele von SelfHTML an. Aber wozu?
Ich stelle mir das so vor als würde ich in die Menüleiste klicken, festhalten und verschieben.
Eben. Das gibt's nämlich schon, und der User weiß es.
Cheatah
Hi Cheatah,
ist es nmöglich, ein Fenster über einen Button zu verrschieben?
"im Prinzip ja" - schau Dir mal die DHTML-Beispiele von SelfHTML an. Aber wozu?
Ich möchte hier auch die Sinnhaftigkeit des unterfangens in frage
stellen, aber so einfach ist es doch nicht.
<theoretisches problem>
die mouseposition lässt sich wohl relativ zum document nicht aber zum
screen abfragen.
wenn du also du also relativ zum document abfragst und das document
dann verschiebst bist du doch bei +-0, oder?
</theoretisches problem>
ich habe sogar schon einen namen dafür, das
documentverschiebeparadoxon <g>
Ich stelle mir das so vor als würde ich in die Menüleiste klicken, festhalten und verschieben.
Eben. Das gibt's nämlich schon, und der User weiß es.
*zustimmend nickend*
Bye Ed X
Hi,
<theoretisches problem>
die mouseposition lässt sich wohl relativ zum document nicht aber zum
screen abfragen.
wenn du also du also relativ zum document abfragst und das document
dann verschiebst bist du doch bei +-0, oder?
</theoretisches problem>
erst mal verschiebst Du ja nur die Maus, und dann hast Du _nicht_ +/- 0. Anschließend korrigierst Du die Bildschirmposition.
ich habe sogar schon einen namen dafür, das
documentverschiebeparadoxon <g>
Das paradoxe an diesem Paradoxon ist, daß es gar nicht paradox ist ;-)
Cheatah
Hi Cheatah,
<theoretisches problem>
die mouseposition lässt sich wohl relativ zum document nicht aber zum
screen abfragen.
wenn du also du also relativ zum document abfragst und das document
dann verschiebst bist du doch bei +-0, oder?
</theoretisches problem>
erst mal verschiebst Du ja nur die Maus, und dann hast Du _nicht_ +/- 0. Anschließend korrigierst Du die Bildschirmposition.
dann schiebt er aber blind, und sieht erst beim release der mousetaste
was er da eigentlich gemacht hat!!
Bye Ed X
Hi,
dann schiebt er aber blind, und sieht erst beim release der mousetaste
was er da eigentlich gemacht hat!!
kommt auf die Implementierung an. Es muß ja nicht erst onMouseButtonUp (wie heißt das Event?) reagiert werden.
Cheatah
Hi,
dann schiebt er aber blind, und sieht erst beim release der mousetaste
was er da eigentlich gemacht hat!!
kommt auf die Implementierung an. Es muß ja nicht erst onMouseButtonUp (wie heißt das Event?) reagiert werden.
wenn du vorher reagierst z.B. onmousemove (mit dem verschieben) bist
du doch wieder bei +/-0 Differenz in der abfrage!!
Bye Ed X
Hi,
wenn du vorher reagierst z.B. onmousemove (mit dem verschieben) bist
du doch wieder bei +/-0 Differenz in der abfrage!!
warum? Klickposition merken, onMouseMove Mausposition erfahren, Differenz berechnen, Fenster verschieben, gemerkte Klickposition korrigieren.
Cheatah
hi,
warum? Klickposition merken, onMouseMove Mausposition erfahren, Differenz berechnen, Fenster verschieben, gemerkte Klickposition korrigieren.
Vielleicht habe ich ja 'nen denkfehler, aber ich stelle mir das so vor:
1.
onmousedown -> clickposition merken -> mouse bewegen ->
onmouseup -> releaseposition ermitteln -> differenz berechnen ->
fenster veschieben
sollte funktionieren allerdings siehst du den erfolg erst beim loslassen
2.
onmousedown -> bewegungsabfrage starten ->clickposition merken ->
mouse bewegen -> onmousemove(d.h. nach jedem Pixel in x- oder y-
richtung) -> position ermitteln -> differenz berechnen(max 1px),
d.h. du ermittelst blos die richtung -> fenster veschieben --> hier
ist deine mousposition wieder die ausgangsposition!! -> onmouseup ->
bewegungsabfrage stoppen
Bei der performance von JS könnte es hier leichte verhedderungen geben
Bye Ed X
Hi,
Bei der performance von JS könnte es hier leichte verhedderungen geben
das mag sein - aber man braucht ja nicht unbedingt bei jeder noch so kleinen Verschiebung zu reagieren. Jede 20tel-Sekunde oder so reicht vollkommen aus.
Immerhin ist abzusehen, daß während des Verschiebens zumindest vom Benutzer keine weiteren Aktionen durchgeführt werden :-)
Cheatah