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

  • ☆ SUB4SUB CENTER! ☆ spam here

    ☆ SUB4SUB

    22 ŞUBAT 2010
  • discokatze

    discokatze

    23 EYLÜL 2009
  • super1988guy

    super1988guy

    9 Aralık 2007