2016-04-09 28 views
0

Altta kayarken, nervürlü bir kenara nav (bu yüzden yüksekliğini bilmiyorum) ve altındaki bir altlık var, bu da position değerini fixed değerine kaydırmalı.Alt kısımda kaydırıldığında diski düzeltin

Bunu başardım, ancak en üste geri kayarken, div sabit kalır ve ben başlangıçta nerede olduğum noktasında tekrar static yapmak için bir çözüm bulamıyorum, çünkü nerede olduğunu bilmiyorum kesin nokta.

İşte bir keman (js yorumlarında çözümümü açıklarım): https://jsfiddle.net/1krLnv7q/2/.

Anybode bana yardım edebilir mi lütfen? Sıkıştım.

+1

Like this 'pozisyon gibi geliyor: sticky' bu yapabilirdi. Sadece firefox tarafından desteklenen bir utanç. –

+1

bu gibi şeyler 'scrollmagic'in pinning fonksiyonu ile yapılabilir. Http://scrollmagic.io/ ve http://scrollmagic.io/examples/basic/simple_pinning.html – Johannes

+0

adresinde yer alan bir örneğe bakın: 'position' yapışkanını denedim, ancak desteği nedeniyle jQuery işlevine switech. – jstorm31

cevap

1

DÜZENLEME

aksi takdirde bir arabası animasyon neden olur scroll() olayın dışında değişkenler tanımlayabilirsiniz.

$(function(){ 
    //top offset of static/fixed div 
    var staticOffset = $('.static').offset().top; 
    //window height 
    var wpHeight = $(window).height(); 

    //point when the user scrolls at the bottom of div 
    //static/fixed div height + top offset - viewport height 
    var treshold = staticOffset + $('.static').height() - wpHeight; 

    $(window).scroll(function(){ 
    //if user scrolls below the divs bottom (treshold) it becomes fixed 
    if ($(window).scrollTop() > treshold){ 
     $('.static').addClass('fix');  
    }else{ 
     $('.static').removeClass('fix');  
    } 
    }); 
}); 
+0

Teşekkür ederim, böyle bir temel hata. :( – jstorm31

İlgili konular