JavaScript: Farbe von Element ändern?
Hi Leute!
Ich will die Farbe eines Elementes(b) ändern, wenn das Element(a) über ein anderes bestimmtes Element hovert.
Heißt, das Element b ist fix am Bildschirm. Nun scrollt der User und das Element hovert das Element a. Nun soll etwas mit b passieren, wie gehe ich das mit JavaScript an?
Danke für eure Antworten!
LG
2 Antworten
https://jsfiddle.net/o2xc8esj/
so würde das zb gehen.
bei nicht rechteckigen formen wirds aber relativ kompliziert.
Du erstellst eine Funktion, die onscroll auslöst.
In dieser prüfst du, ob die Bounding-Boxes der beiden Elemente überlappen und änderst entsprechend die Farbe.
Dabei können folgende Probleme auftreten:
1.) Du kennst evtl. die Größe der Bounding-Box am PC des Clienten nicht. Das lässt sich nicht ändern, sofern du nicht entsprechende Funktionen der Browser nutzt, um diese zu bekommen, oder anderweitig genau bestimmen kannst, welche Größe die Box hat.
2.) Evtl. willst du nicht die Bounding-Box auf hovern testen, sondern das tatsächliche Objekt. Dafür brauchst du dann möglicherweise kompliziertere Kollisionsentdeckungsverfahren.