Erkennen der Sichtbarkeit der Bildlaufleiste in einem Div mit jQuery
Die Bestimmung, ob ein Div-Element über eine aktive Bildlaufleiste verfügt, ist eine häufige Anforderung in der Webentwicklung. Eine Möglichkeit, dies zu erreichen, besteht darin, die Überlaufeigenschaft des Div zu überprüfen. Wenn das Div beispielsweise „overflow: auto“ hat, bedeutet dies, dass eine Bildlaufleiste angezeigt wird, wenn der Inhalt die Abmessungen des Div überschreitet.
Überlauf mit jQuery prüfen
Um das zu überprüfen Überlaufeigenschaft mithilfe von jQuery zu erstellen, können Sie das hasScrollBar-Plugin verwenden. Hier ist ein Beispiel:
<code class="javascript">(function($) { $.fn.hasScrollBar = function() { return this.get(0).scrollHeight > this.height(); } })(jQuery);</code>
Um dieses Plugin zu verwenden, rufen Sie einfach hasScrollBar() für das div-Element auf:
<code class="javascript">$('#my_div1').hasScrollBar(); // Returns true if there's a vertical scrollbar, false otherwise.</code>
Diese Lösung funktioniert auf den wichtigsten Browsern, einschließlich Firefox, Chrome und IE6, 7 und 8. Allerdings funktioniert es nicht richtig für das Body-Tag.
Alternative Lösung mit clientHeight
In einigen Fällen, insbesondere wenn es horizontal ist Wenn die Bildlaufleiste das Erscheinen einer vertikalen Bildlaufleiste auslöst, liefert die Funktion hasScrollBar möglicherweise nicht das gewünschte Ergebnis. Ein alternativer Ansatz ist die Verwendung der clientHeight-Eigenschaft:
return this.get(0).scrollHeight > this.get(0).clientHeight;
Das obige ist der detaillierte Inhalt vonWie erkennt man die Sichtbarkeit der Bildlaufleiste in einem Div mit jQuery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!