Jawaban StanleyH sangat bagus, tetapi ia memiliki satu bug yang tidak menguntungkan: mengklik area yang diarsir pada scrollbar tidak lagi melompat ke pilihan yang Anda klik. Sebaliknya, yang Anda dapatkan adalah kenaikan yang sangat kecil dan agak menyebalkan di posisi bilah gulir.
Diuji: 4 versi Firefox (100% terpengaruh), 4 versi Chrome (50% terpengaruh).
Ini jsfiddle saya . Anda dapat menyiasatinya dengan memiliki on / off (true / false) var yang memungkinkan hanya satu onScroll () acara untuk memicu sekaligus:
var scrolling = false;
$(".wrapper1").scroll(function(){
if(scrolling) {
scrolling = false;
return true;
}
scrolling = true;
$(".wrapper2")
.scrollLeft($(".wrapper1").scrollLeft());
});
$(".wrapper2").scroll(function(){
if(scrolling) {
scrolling = false;
return true;
}
scrolling = true;
$(".wrapper1")
.scrollLeft($(".wrapper2").scrollLeft());
});
Masalah Perilaku Dengan Jawaban yang Diterima:

Perilaku yang Sebenarnya Diinginkan:

Jadi, mengapa ini terjadi?Jika Anda menjalankan kode, Anda akan melihat bahwa wrapper1 memanggil scrollLeft wrapper2, dan wrapper2 memanggil scrollLeft wrapper1, dan ulangi ini tanpa batas, jadi, kami memiliki masalah loop tak terbatas. Atau, lebih tepatnya: pengguliran terus-menerus dari konflik pengguna dengan panggilan wrapperx tentang pengguliran, terjadi suatu peristiwa konflik, dan hasil akhirnya adalah tidak ada lompatan di scrollbar.
Semoga ini bisa membantu orang lain!