SORU
2 Ocak 2012, PAZARTESİ


Sadece devre dışı kaydırma gizlemek değil mi?

Bir ışık kutusu kullanarak ben yokken üst html/vücut kaydırma çubuğu devre dışı bırakmak için çalışıyorum. Ana kelime overflow: hidden; gizlemek istemiyorum devre dışı bırakın.

bunun nedeni overflow: hidden site sıçrama yapar ve parşömenin yerini alan alır.

EDİT< / ^ br . Ben sadece mümkünse bilmek gösterirken bir kaydırma çubuğu devre dışı bırakmak istiyorum.

ÇÖZÜM< / ^ br . Bu sınıf ekliyorum

body.noscroll
{
    position: fixed; 
    overflow-y: scroll;
    width: 100%;
}

Ve ben ışıklı kapattığımda ışıklı açın ve çıkarın tek vücut ekleyin

$('body').addClass('noscroll');
$('body').removeClass('noscroll');

bu benim için çalışıyor ve fancyapp kullanıyorum.

teşekkürlerFabrizio Calderan

CEVAP
2 Ocak 2012, PAZARTESİ


biraz hacky (öyle olmayabilir için daha uygun bir uygulama) ama eğer sayfanın altında overlayer olabilir "sabit" üst açtığınızda, kaplamanın ayarlayabilirsiniz

body { position: fixed; overflow-y:scroll }

hala doğru kaydırma çubuğu görmelisiniz ama içeriği değil kaydırılan. Kapattığınızda kaplamayı sadece bu özellikleri ile döner

body { position: static; overflow-y:auto }

Ben sadece herhangi bir kaydırma olayı değiştirmek gerek kalmazdı çünkü bu yolu önerdi

Güncelleme

Olabilir de hafif bir düzelme: alırsan document.documentElement.scrollTop özelliği ile javascript hemen önce açık katmanı olabilir dinamik olarak atamak değer olarak top özelliği vücut eleman :) bu şekilde sayfa olacak standındaki yerini, ne olursa olsun eğer sana yardım için buradayım ya zaten kaydırılan.

Kodunuz olacak

Css

.noscroll { position: fixed; overflow-y:scroll }

JS

$('body').css('top', -(document.documentElement.scrollTop)   'px')
         .addClass('noscroll');

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Megan Parken

    Megan Parken

    19 Temmuz 2009
  • New Scientist

    New Scientis

    27 Kasım 2006
  • xCraash

    xCraash

    6 Temmuz 2012