Überliegendes DIV ermitteln

  • Hallo liebe Freunde,


    ich hänge an einer Kleinigkeit und kann diese leider nicht lösen, vielleicht könnt ihr mir helfen.


    Ist es möglich in Javascript das überliegende DIV auszulesen?

    Ich möchte nämlich Bilder anpassen nach ungefährer folgender Formel:


    width=100%

    if (picture.height < darüberliegendes_div.height) { picture.height = 100%; picture.width = auto; }


    kann meine Lösung so funktionieren oder ist das gar nicht möglich in Javascript?

  • Hey,


    gibst du den Bildern einen z-index um ein Bild über das andere zu legen? Wenn ja kannst du mittels Javascript den Z-Index Wert auslesen und dann anhand diesem das überliegende Div auslesen. Oder du weist schon welches div das übergeordnete ist gibst diesem eine Class oder Id und liest dieses div dann so aus.


    Grüße,

    Stef

  • Nein ich nutze keinen z-index, es spricht aber nichts dagegen dem div noch eine class zu geben um zu zu identifizieren. Ist meiner Meinung nach nur nicht so schön

    dachte es gebe da vielleicht was damit ich den code in eine Zeile bekomme.

    Ich probiere das mal aus, danke aber schon mal für die Gedankenstütze!


    Dürfte ich mal eben doch noch eine Frage stellen, ich habe folgenden Code, sobald ich aber die for-Schleife aktiviere geht kein alert mehr.

    Ich hoffe ich habe es geschafft mich richtig auszudrücken, wenn ich die kommentierten Zeilen aktiviere dann geht nicht mal mehr der alert vor der Schleife.

    Dieser Beitrag wurde bereits 1 Mal editiert, zuletzt von vic951 () aus folgendem Grund: Es hat doch nicht ganz so einfach funktioniert und ich wollte einen Doppelpost vermeiden.

  • Mit jQuery geht es mit $(this).parents(); ,wenn der Ausgangspunkt dieses Element ist ,bei nativen Javascript muss ich gerade mal selber googeln.

    https://basti1012.bplaced.net/…rdner=html-seminar&id=332

    da kannst du sehen, dass es von this Ausgangspunkt mit parent() geht. Das könnte man auf deinen Code bestimmt auch anwenden. Mußt dir halt nur auf dein Code anpassen und auf nativen Javascript umschreiben.

  • Danke für die Antworten,

    ich war nur mit JavaScript schon so weit und es funktioniert jetzt sogar bis auf eine große Kleinigkeit die ich nicht lösen kann

    Unten stehend erst mal der aktuelle funktionierende Code:

    ABER das ist die Bildhöhe der Datei, d.h. verschiebe ich das Fenster und aktualisiere funktioniert das leider wieder nicht weil nicht die AKTUELLE Bildhöhe ausgelesen wird.

    Ich bin gerade im Internet am Suchen, vielleicht kennt jemand von euch eine Lösung um die aktuelle Bildhöhe auszulesen die dynamisch vom Browser zugeteilt worden ist.

  • Um mein Vorhaben zu verstehen muss man sich vorstellen das es mir darum geht den Browser zu verschieben und das Bild füllt ein div IMMER aus.


    Das hier sind zwei von insgesamt vier boxen, diese sind IMMER über den ganzen Bildschirm gespannt. Wenn ich bei der Klasse Box ein Hintergrundbild hinzufüge erziehle ich genau den Effekt den ich haben will. Nur habe ich eine Slideshow in jeweils eine Box gebaut also kann ich im CSS das Hintergrundbild nicht mehr angeben.

  • Hast du das schon Online.? Weil verstehe das so nicht ganz.

    Das hier sind zwei von insgesamt vier boxen, diese sind IMMER über den ganzen Bildschirm gespannt. Wenn ich bei der Klasse Box ein Hintergrundbild hinzufüge erziehle ich genau den Effekt den ich haben will.

    Dann ist doch alles gut. Was hat das jetzt mit der Slideshow zu tun? Was soll da genau passieren.


    Wenn du es Online hast dann bitte zeigen und eine erklärung dazu. Oder kannst du von dein Problem mal ein Codepen machen ,weil das würde auch noch gehen.


    Es gibt eigentlich für fast jedes problem eine Lösung,nur wenn ich das problem nicht verstehe kann ich da auch leider nicht helfen.Mach mal bitte Link oder ein pen fertig und dann sehen wir mal weiter was wir da machen können

  • Die Page ist noch lange nicht Online, aber ich habe kurz darüber nachgedacht und eine Lösung gefunden.

    Mein Problem war das Bilder in einem Div das Div nicht immer ausgefüllt haben, es läuft in diesem Div eine Javascript Slideshow. Und folgedenermaßen sieht mein funktionierender Code aus: