Husky: Broserfenster per Button verschieben

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

  1. 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

    1. 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

      1. 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

        1. 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

          1. 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

            1. 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

              1. 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

                1. 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

                  1. 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