Position eines Objektes anhand der Cursor-Position festlegen

Idealist schrieb am 20.08.2012 um 19:07 Uhr

Eine ähnliche Frage wurde schon einmal gestellt und von BeRo in gewohnt hilfreicher Art beantwortet. (siehe Frage:"Position einer Ebene festlegen". Ich habe diese Lösung für mein Problem eingesetzt und sie funktioniert auch einwandfrei.

hier ist nur die obere rechte Ecke des Fensters dargestellt.

Der rote Rahmen repräsentiert das Rechteck mit dem Link zur Popu-Ebene. Dieser Rahmen geht über die ganze, 1300 px lange Seite. Das Rechteck "Typen-Legende" ist die eingeblendete Popu-Ebene, die beim Scrollen stehen bleibt. Der Platzhalter mit dem HTM-Code ist hier nicht sichtbar.

nach dem Scrollen zeigt sich die Seite etwa so wie hier ausschnittweise abgebildet. Auch wenn ich ZUERST scrolle und dann die Ebene aufrufe (Rechteck anklicke), funktioniert dies bestens.

Aber jetzt kommt das Probelm: Wenn ich nun die Popup-Ebene schliesse und das Rechteck an anderer Stelle wieder anklicke, kann es sein, dass die Popup-Ebene zwar wieder erscheint, aber an einer völlig falschen Stelle. Und zwar unabhängig davon, ob die Seite gescrollt wurde oder nicht.

  hier wurde die Popup-Ebene oberhalb des Fensterrandes positioniert. Je nachdem, wie weit oben oder unten im Fenster auf das Rechteck geklickt wird, verschiebt sich die Position soweit, dass die Popup-Ebene nicht mehr sichtbar ist.

Auch wenn jetzt nach oben gescrollt wird, erscheint das Popup nicht mehr, denn es ist ja gewollt, dass es stehen bleibt!

Das Popup bleibt stehen, auch wenn es ausserhalb des Fensters positioniert ist.

Offenbar hat die Position des Cursors einen Einfluss auf die Position der Popup-Ebene. Ist es möglich, ein Popup an der Cursor-Position erscheinen zu lassen? So wie die Tooltips (Mouseover-Texte), die zudem immer innerhalb des Fensters angezeigt werden, auch wenn der Cursor zuunterst oder zuoberst im Fenster steht.

Ich habe mit dem script von BeRo etwas "herumprobiert" ich bin jedoch zuwenig sattelfest in der HTM-Codierung und habe deshalb keine Lösung gefunden. Gibt es eine?

 

Kommentare

BeRo schrieb am 21.08.2012 um 15:57 Uhr

[...] Eine ähnliche Frage wurde [...] von BeRo in gewohnt hilfreicher Art beantwortet. [...]

Danke für die Blumen.

[...] ich bin jedoch zuwenig sattelfest in der HTM-Codierung und habe deshalb keine Lösung gefunden. Gibt es eine? [...]

Ja, die gibt es.

Dieses Mal nicht von mir, aber auf der "web-toolbox.net" Website findest Du alles, was Du brauchst, um eine Infobox an der Cursorposition einblenden zu können. Da wird sehr detailliert geschildert, wie das mit einer MouseOver Funktion realisiert werden kann.

Außer der step by step Anleitung findest Du dort auch alle HTML- und/oder CSS Codes zum Download und die lauffähigen Demos.

Damit sollten auch nicht ganz sattelfeste Webdesigner zurecht kommen

Probier's mal.

Viel Erfolg

BTW

Ich konnte das von Dir geschilderte Problem nicht nachstellen. Nach einer Anpassung der von mir online gestellten Demo  an Deine Vorgaben, funktionierte alles, wie geplant. Die popup Ebene wurde in jedem Fall immer an der vorgegebenen Position in Relation zum oberen Rand des Browserfensters eingeblendet.

Über den Grund, warum das bei Dir nicht so funktionierte darf gerne spekuliert werden...

-------------------------

Edit: 22.08. 18:51 h

Ich habe nicht spekuliert, sondern auf Deiner Website nachgesehen.

Dein Problem löst sich sofort in Luft auf, wenn Du die Popup Einstellungen der Ebene, die Du für die Einblendung der Infobox aufrufst, auf "unmittelbar" zurücksetzt.
Derzeit hast Du "von rechts hereingleiten" eingestellt.

Jede andere Einstellung, als "unmittelbar" führt zu nicht kalkulierbaren Effekten beim Einblenden der Ebene, wenn Du die vom WD vorgegebene Einblendung mit einem eigenen Script manipulierst.

Damit sollte Dein Problem vom Tisch zu ziehen sein... 

Viel Erfolg

Zuletzt geändert von BeRo am 22.08.2012, 18:51, insgesamt 2-mal geändert.

Auf den Tag genau gehen heute, am 14.08.2021, 10 Jahre online Support für die Community zu Ende.
Ich freue mich auf eine neue, berufliche Herausforderung, die sich gerade ergeben hat. Leider bleibt dann keine Zeit mehr für die Community übrig, aber Ihr seid bei den aktiven Mitgliedern in besten Händen.
Sicher schaue ich auch ab und zu nochmal rein... 🤓

Idealist schrieb am 23.08.2012 um 07:59 Uhr

BeRo, ich kann nur sagen: GEWALTIG! 

Besten Dank auch für den Hinweis auf    web-toolbox.net    ,je nach Zeit und Laune (und Wetter) werde ich versuchen, etwas für meine Weiterbildung zu tun.