2014-11-17 108 views
0

嗨,大家好,我有這個代碼我做完了,當滾動側邊欄從底部到頂部移動,但我堅持如何停止滾動一旦側欄命中主持人的頂部 - 有人可以幫助我嗎?jQuery絕對sidebr滾動,停在父母的頂部和底部

代碼:

$(window).bind('scroll', function() { 
    var scrolledY = $(window).scrollTop(); 
    $('.parallax-sidebar').css('bottom', '+' + ((scrolledY * 1.3)) + 'px'); 
}); 

我這裏有一個小提琴例如:http://jsfiddle.net/06qwtgt6/1/

非常感謝!

回答

0
$(document).ready(function() { 

    /********************************************************************************/ 
    /* Parallax Scrolling */ 

    // Cache the Window object 
    var $window = $(window); 

    $('[data-type]').each(function() { 
     $(this).data('offsetY', parseInt($(this).attr('data-offsetY'))); 
     $(this).data('Xposition', $(this).attr('data-Xposition')); 
     $(this).data('speed', $(this).attr('data-speed')); 
    }); 

    // For each element that has a data-type attribute 
    $('div[data-type="background"]').each(function() { 

     var $self = $(this), 
      offsetCoords = $self.offset(), 
      topOffset = offsetCoords.top; 

     $(window).bind('scroll', function() { 

      if (($window.scrollTop() + $window.height()) > (topOffset) && 
       ((topOffset + $self.height()) > $window.scrollTop())) { 

       var yPos = -($window.scrollTop()/$self.data('speed')); 

       if ($self.data('offsetY')) { 
        yPos += $self.data('offsetY'); 
       } 

       var coords = '50% ' + yPos + 'px'; 

       $self.css({ backgroundPosition: coords }); 

      }; 

     }); 

    }); 

    // For each element that has a data-type attribute 
    $('div[data-type="content"]').each(function() { 

     $(window).bind('scroll', function() { 
      var scrolledY = $(window).scrollTop(); 


      $('.parallax-content').css('bottom', '+' + ((scrolledY * 1.3)) + 'px'); 
     }); 

    }); 

    $(window).scroll(function(){ 

     if ($(this).scrollTop() > 150) { 
      $('.sidebar').addClass('fixed'); 
     } else { 
      $('.sidebar').removeClass('fixed'); 
     } 
    }); 


}); 

CSS

.fixed {position:fixed; top:0;} 

DEMO

+0

去除那從底部到頂部的滾動雖然效果......我需要保持這一點,最糟糕的是當它到達底部,這些也走出容器以及當你向右滾動到底部,固定,因爲你完成固定,雖然...... –

+0

我認爲我們應該可能得到容器的高度,當側邊欄坐,和計算這樣嗎?我不知道。 –

+0

當我們在滾動時碰到底部時,你需要修復側邊欄? –