我正在拼湊一個jQuery插件。該插件需要面板,並自動調整其高度。於是,我開始了與這樣的:跟蹤滾動位置超出元素
<div class="panel">Test 1</div>
<div class="panel">Test 2</div>
<div class="panel">Test 3</div>
該代碼看起來是這樣的:
sizePanels: function(){
panels.each(function(){
$(this).height(docHeight);
});
},
有一個向下按鈕,該按鈕時,將用戶帶到下一個$( 」 .panel):
nextPanel: function(){
$.scrollTo($(".panel:eq(" + panelIndex + ")"), 250, { easing: "swing" });
}
就這樣,我在跟蹤面板指標,他們對:
if (panelIndex < (panelCount - 1)) {
panelIndex += 1;
}
我試圖找出一種方法來跟蹤他們是否碰巧手動滾動,並傳遞其中一個元素,然後增加「panelIndex」,以便按鈕不會將它們向上移動而不是向下移動因爲用戶使用滾動條而不是按鈕,因此它從不增加。這是我到目前爲止:
$(window).scroll(function(){
panels.each(function(index){
if ($(window).scrollTop() > $(this).scrollTop()) {
panelIndex = index;
// console.log(index);
}
});
if (panelIndex < panelCount - 1){
s.showDownButton();
}
});
該代碼過度檢查和感覺有點過度。有沒有更好的方法來做到這一點?
在'$(窗口).scroll(函數()',而不是** **窗口嘗試給面板父DIV – Imdad