2010-10-21 26 views
17

Sayfanın sonuna doğru kaydırılan aşağıdaki kaydırma komut dosyasına sahibim, tam da istediğim gibi çalışıyor. Ben o içerik kaydırır arkasında sayfanın üst kısmında sabit bir başlığa sahip olarakJQuery Tarayıcınızın üst kısmındaki Ofset'e kaydırın.

$(function(){ 
    $('a[href*=#]').click(function() { 
    if (location.pathname.replace(/^\//,'') == this.pathname.replace(/^\//,'') 
     && location.hostname == this.hostname) { 
      var $target = $(this.hash); 
      $target = $target.length && $target || $('[name=' + this.hash.slice(1) +']'); 
      if ($target.length) { 
       var targetOffset = $target.offset().top; 
       $('html,body').animate({scrollTop: targetOffset}, 1000); 
       return false; 
      } 
     } 
    }); 
}); 

Ancak, ben üst görmezden bunu 200px söylemek gerekir.

Üstüne kaydırdığımda, içeriği sabit üstbilginin arkasına kaydırır, böylece göremiyorum, bu yüzden üstbilginin hemen altına kaydırmak için ihtiyacım var. tarayıcının sanırım ....

Bu çok kullanışlı olabileceği için yapılabilir mi? herhangi bir yardım

+0

teşekkür ederiz ofset hesabınızla ilgili kaldırın tıklandığında da bu kontrol edebilirsiniz

Bunu tam olarak aynı sebepten dolayı gerçekleştirin! – Robert

cevap

26

misiniz bir şey yapmak eğer böyle bir şey kullanabilirsiniz? Ya da ekstra ofset için başlık elemanının yüksekliğini yakalayın veya

var targetOffset = $target.offset().top - $("element").outerHeight(true); 
1

için

çok teşekkürler ur kodunda durum bu işi gibi bu

//check if the absolute position is below header 
if ($('#IdOfTheScrollElement').position().top >= 200){ 
//scroll 
} 
else { 
//do nothing 
} 
+0

Yardımlarınız için teşekkürler çocuklar. Ben onlar bir etkisi olması için kod onları koyacağını anlayamadım gibi çalışıyorum emin değilim, sis durumlarda ben sadece kaydırma kırdı :( – Jezthomp

0

Kurallar güzel, yalnızca burada sabit üstbilginin yüksekliğini kaldırmanız gerekiyor, örneğin 200px ise. mükemmel çalışır.

$('html,body').animate({scrollTop: (targetOffset().top)-200}, 1000); 
bir düğme
$(function() { 

$('a[href*=#]:not([href=#])').click(function() { 

    // Check height of the header and padding 
    var header_height = $('.header').outerHeight(); 

nasıl anlamaya çalışan bütün gece mücadele edilmiş bu soruyu sorduğunuz için
$('html,body').animate({scrollTop: (targetOffset().top) - header_height }, 1000); 
İlgili konular