Ukrycie elementu kiedy wychodzi poza okno

Odpowiedz Nowy wątek
2018-11-27 18:57
0

Cześć, mam element na stronie, który chcę ukryć jeśli pozycja elementu będzie niższa niż 45px od górnej pozycji okna. Właściwość $(id).position().top cały czas 0 pokazuje.

    const id = "#product_info";
    const heroImage = "#hero_image";

    $(window).scroll(function () {
        let position = $(id).position().top;

        if (position < 45) {
            $(heroImage).fadeOut();
        } else {
            $(heroImage).fadeIn();
        }

        console.log(position);
    });

Pozostało 580 znaków

2018-11-27 19:38
1

https://api.jquery.com/position/

The .position() method allows us to retrieve the current position of an element (specifically its margin box) relative to the offset parent (...) Contrast this with .offset(), which retrieves the current position relative to the document.

edytowany 1x, ostatnio: Desu, 2018-11-27 19:38

Pozostało 580 znaków

2018-11-27 20:03
0

Rozwiązanie:

const cardId = "product_info";
    const heroImage = "#hero_image";
    const card = document.getElementById(cardId);

    $(window).scroll(function () {
        let distanceFromTop = card.getBoundingClientRect().top;

        if(distanceFromTop < 45) {
            $(heroImage).fadeOut();
        } else {
            $(heroImage).fadeIn();
        }
    });

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0