Aşağıdaki kod var: -jQuery - bu belli bir noktadan sonra kaydırılan bir kez konumunda bir unsur kalmak olun
HTML
<div id="header"></div>
<div id="content">
<div class="sidebar-wrapper"></div>
</div>
<div class="sessions-wrapper"></div>
<div id="footer"></div>
CSS
#header {
height: 600px;
width: 100%;
background: black;
}
#content {
height: 2000px;
width: 100%;
background: #eeeeee;
}
.sidebar-wrapper {
width: 100%;
height: 350px; /*depends on content*/
background: rgba(0,0,0,0.2);
border-radius: 20px;
padding: 20px;
margin-top: 50px;
}
.sessions-wrapper {
height: 200px;
width: 100%;
background: #000000;
}
#footer {
width: 100%;
height: 500px;
background: #888;
}
jQuery
o dibe ulaşana kadar sayfa aşağısidebar-wrapper
kaydırır sayfayı aşağı giderken anda
jQuery.fn.scrollBottom = function() {
return jQuery(document).height() - this.scrollTop() - this.height();
};
var sidebar = jQuery('.sidebar-wrapper');
var pwindow = jQuery(window);
var sessions = jQuery('.sessions-wrapper');
var sidebar_gap = sidebar.offset().top;
pwindow.bind("scroll resize", function() {
var gap = pwindow.height() - sidebar.height() - 10;
var sessions_gap = sessions.offset().top - sidebar.offset().top;
var visibleFoot = 172 - pwindow.scrollBottom();
var scrollTop = pwindow.scrollTop()
if(scrollTop > sidebar_gap - 140 && sessions_gap > 750 && visibleFoot < -850) {
sidebar.css({
'position': 'fixed',
'top': '100px',
'width': '100%'
});
} else if (sessions_gap < 750 && visibleFoot > -850) {
sidebar.css({
'position': 'static',
'top': '0px',
'width': '100%'
});
} else {
sidebar.css({
'position': 'static',
'top': '0px',
'width': '100%'
});
}
});
.
sidebar-wrapper
yerine orijinal konumuna geri dönerken, bu elemanın kaybolduğu yerde kalmasını ve sayfanın arkasına dönerken ilerlemesini istiyorum. Ben eğer önceden
Teşekkürler (her sayfada farklı olurdu böylece elemanların yükseklikleri) burayı aynı elementler ancak farklı içeriğe sahip farklı sayfalardaki çalışmak için bu fonksiyonu olarak bu şekilde yapıyorum
Belirsiz kaldım, lütfen bana bildirin.
Bu komut dosyasının yapamadığı tek şey, '.sidebar-wrapper' alt öğeden 20px'e ulaştığında alt konumda kalmıyor, bunun yerine – nsilva
kayboluyor. Ne diye sorduğunuzu yanlış anladım. İhtiyaçlarınıza göre düzenlenmiştir. – Dacklf
Harika, teşekkürler @Dacklf, bu her iki sorunu da çözdü :) – nsilva