如何用jQuery實現兩個DIV之間平滑的同步滾動?
使用jQuery 同步滾動:克服同步問題
要實現兩個DIV 元素之間的同步滾動,考慮到它們之間的差異至關重要尺寸。提供的程式碼直接設定scrollTop值,導致同步不一致。為了解決這個問題,需要計算滾動內容的百分比並相應地調整scrollTop值。
要確定實際高度和當前滾動位置,可以使用以下公式:
percentage = scrollTop / (scrollHeight - offsetHeight)
此計算提供一個介於 0 和 1 之間的值,表示滾動內容的百分比。將其他 DIV 的 (scrollHeight - offsetHeight) 乘以該值會得到比例滾動的對應的 scrollTop 值。
此外,為了防止Firefox 中滾動事件的無限循環,您應該暫時取消綁定偵聽器,設定
$divs.on('scroll', function(e) { var $other = $divs.not(this).off('scroll'), other = $other.get(0); var percentage = this.scrollTop / (this.scrollHeight - this.offsetHeight); other.scrollTop = percentage * (other.scrollHeight - other.offsetHeight); // Firefox workaround. Rebinding without delay isn't enough. setTimeout(function() { $other.on('scroll', sync); }, 10); });
透過實作這些改進,您可以在DIV 元素之間實現平滑同步的滾動,即使大小不同,並避免Firefox 中潛在的無限循環問題。
以上是如何用jQuery實現兩個DIV之間平滑的同步滾動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tartanify.com上,我們收集了5,000多個格子呢
