suchen

Heim  >  Fragen und Antworten  >  Hauptteil

javascript - Wie kann festgestellt werden, ob ein Element an den unteren Rand des sichtbaren Bereichs des Bildschirms gescrollt wurde?

Ein Element befand sich ursprünglich über dem unteren Rand des sichtbaren Bereichs des Bildschirms. Als die Bildlaufleiste nach oben scrollte, berührte dieses Element den unteren Rand des Bildschirms . Wie kann ich also erfassen, wenn das Element den unteren Bildschirmrand berührt?

给我你的怀抱给我你的怀抱2778 Tage vor765

Antworte allen(3)Ich werde antworten

  • 高洛峰

    高洛峰2017-05-19 10:28:18

    <p class="element" style="height: 100px;width:100px; border:1px solid;margin-top:500px"></p>

    元素触底就变红,否则变白色

        <script src="https://cdn.bootcss.com/jquery/1.11.3/jquery.min.js"></script>
        <script>
            var element = $('.element');
            var win = $(window);
            win.scroll(function() {
                if (element.offset().top + element.height() <= win.height() + win.scrollTop()) {
                    element.css('backgroundColor', '#f33');
                } else {
                    element.css('backgroundColor', '#fff');
                }
            })
        </script>

    Antwort
    0
  • phpcn_u1582

    phpcn_u15822017-05-19 10:28:18

    可以通过js得盒子模型获取到当前的scrollTop还有元素的clientTop,再已知盒子高度的情况下进行判断。

    Antwort
    0
  • 滿天的星座

    滿天的星座2017-05-19 10:28:18

    document.addEventListener('scroll', function () {
        var p = document.getElementById('p')
        if (document.body.scrollTop === p.offsetTop) {
            //...
        }
    })

    Antwort
    0
  • StornierenAntwort