senin bölüm olup olmadığını, ben öğrenmek için bu kullanıyorum "ViewPort'un" kontrol edilebilir:
function isTotallyInViewPort($entry){
var windowScrollTop = $(window).scrollTop();
var windowHeight = $(window).height();
var windowVisibleBottom = windowScrollTop + windowHeight;
var entryTop = $entry.offset().top;
var entryOuterHeight = $entry.outerHeight();
var entryVisibleBottom = entryTop + entryOuterHeight;
var isInView = windowScrollTop < (entryTop) < (windowVisibleBottom);
if(!isInView) return false;
var isCompleteInView = (entryVisibleBottom) < (windowVisibleBottom);
return isCompleteInView;
}
Eğer PARÇA gösteriliyorsa sadece istemediğini kontrol eden bir işlevi oluşturun, algılamak istiyorsanız Geçerli görünüm, bölümünüzün konumuyla örtüşüyor. ben senin elemanları gösteriliyorsa bu (henüz test edilmemiş) algılamalıdır düşünüyorum
function isPartlyInViewPort($entry){
var windowScrollTop = $(window).scrollTop();
var windowHeight = $(window).height();
var windowVisibleBottom = windowScrollTop + windowHeight;
var entryTop = $entry.offset().top;
var entryOuterHeight = $entry.outerHeight();
var entryVisibleBottom = entryTop + entryOuterHeight;
var isAboveViewPort = entryVisibleBottom < windowScrollTop;
var isBelowViewPort = windowVisibleBottom < entryTop;
return !(isAboveViewPort || isBelowViewPort);
}
Bu soru:
Eğer
düzenlemek ("kaydırma") $ için (pencere) .sistem bağlamak olabilir size yardımcı olabilir: http://stackoverflow.com/questions/2940006/what-is-scrolltop-and-scrollheight. Kullanıcının sayfada olduğu yerde çalışmak için kaydırma farklılaştırması kullanabilir misiniz? Bu iyi bir soru ama başlamanız için kodunuzu gönderin. – George
Kaydırma ofsetini alın ve bölümlerin ofsetiyle karşılaştırın. –
Herkesin söylediği gibi, kaydırma konumunu kullanarak ve bölümlerin ofsetiyle karşılaştırmak, gidilecek yoldur. Bir göz atmak için bu eylemin bir örneği, http://twitter.github.com/bootstrap/javascript.html adresindeki bootstrap'te görülebilir (ve gezinme durumunu nasıl ele alır). Bu 'scrollspy' olarak inşa edilmiştir, bu eylemin bir kemanı bu cevaptan bağlanmıştır: http://stackoverflow.com/questions/13134013/how-to-use-bootstrap-scroll-spy –