SORU
27 Ocak 2011, PERŞEMBE


Nasıl bir kaydırma çubuğu görünür olup olmadığını kontrol edebilir miyim?

Bir div overflow:auto kontrol etmek mümkün mü?

Örneğin:

HTML

<div id="my_div" style="width: 100px; height:100px; overflow:auto;" class="my_class"> 
  * content
</div>

Bir WordPress kullanmak

$('.my_class').live('hover', function (event)
{
    if (event.type == 'mouseenter')
    {
         if( ...  if scrollbar visible ? ... )
         {
            alert('true'):
         }
         else
         {
            alert('false'):
         }
    }

});

Bazen içerik kısa (kaydırma çubuğu) ve bazen uzun (kaydırma çubuğu) görünür.

CEVAP
27 Ocak 2011, PERŞEMBE


bunun için küçük bir eklenti.

(function($) {
    $.fn.hasScrollBar = function() {
        return this.get(0).scrollHeight > this.height();
    }
})(jQuery);

bu gibi, bunu kullanın

$('#my_div1').hasScrollBar(); // returns true if there's a `vertical` scrollbar, false otherwise..

Firefox üzerinde çalışan test, IE6,7,8 Krom

ama düzgün body etiket seçici çalışmıyor

demo


Edit

Dikey kaydırma çubuğu görünmesine neden olan yatay kaydırma çubuğu varsa, bu işlev çalışmaz öğrendim....

Başka bir çözüm... clientHeight kullanın öğrendim

return this.get(0).scrollHeight > this.get(0).clientHeight;

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Lamborghini

    Lamborghini

    13 Aralık 2005
  • Motor Trend Channel

    Motor Trend

    11 Mart 2006
  • TheDamnWreckless

    TheDamnWreck

    12 Temmuz 2010