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

  • BruBearBaby

    BruBearBaby

    25 Ocak 2011
  • Joshua Benedict

    Joshua Bened

    26 EKİM 2013
  • TSE

    TSE

    12 Kasım 2012