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

  • Blue Lightning TV

    Blue Lightni

    9 EKİM 2011
  • case LianLi

    case LianLi

    28 Mayıs 2010
  • Eddie Bravo

    Eddie Bravo

    17 EKİM 2006