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;
}
手動でスクロールするかどうかを追跡し、要素の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();
}
});
コードは過度にチェックし、やややりすぎのように感じます。それを行うより良い方法はありますか?