此刻JQuery的scrollTop的()適用於窗口事件,但不是div的(在Chrome測試)
https://www.cliquenext.com/sandbox.php
此頁面上的合作,我們有兩個格列。 #mainpage(右側)和#sidebar左側。
目標是,如果我在右欄滾動,左邊的滾動條也是。 如果我在左欄滾動,右欄也滾動。兩者同時。
當我使用$(窗口).ScrollTop - 它工作正常。 當我使用$(「#sidebar」)。Scrolltop - 它不會觸發。
以下代碼在滾動#sidebar時可以滾動#mainpage。
$("#sidebar").scroll(function(event){
event.preventDefault();
var st = $(this).scrollTop();
if (st > lastScrollTop){
// downscroll code
var y = $(window).scrollTop(); //your current y position on the page
$(window).scrollTop(y+10);
} else {
// upscroll code
var y = $(window).scrollTop(); //your current y position on the page
$(window).scrollTop(y-10);
}
lastScrollTop = st;
});
以下代碼不起作用。在#主頁上滾動時,#邊欄也應該滾動。但不是。
$("#mainpage").scroll(function(event){
event.preventDefault();
var st2 = $(this).scrollTop();
if (st2 > lastinfoscroll){
// downscroll code
var y = $("#sidebar").scrollTop(); //your current y position on the page
$("#sidebar").scrollTop(y+10);
} else {
// upscroll code
var y = $("#sidebar").scrollTop(); //your current y position on the page
$("#sidebar").scrollTop(y-10);
}
lastinfoscroll = st2;
});
我想檢測其中一個div是否正在滾動,然後滾動這兩個div。
我似乎無法弄清楚如何讓它在div上觸發,這樣我就可以一次滾動兩個div。多年來一直困在這個問題上。也不想使用Animate。
任何幫助將不勝感激。 乾杯