首頁  >  文章  >  web前端  >  ## 如何在 Firefox 中使用 jQuery 實現平滑可靠的同步滾動?

## 如何在 Firefox 中使用 jQuery 實現平滑可靠的同步滾動?

Linda Hamilton
Linda Hamilton原創
2024-10-24 19:07:02526瀏覽

## How to Achieve Smooth and Reliable Synchronized Scrolling with jQuery in Firefox?

同步滾動最佳化和Firefox 解析度

使用jQuery 實現同步滾動時,解決兩個潛在問題至關重要:

1.大小差異同步

為了考慮不同的DIV 大小,確定滾動內容的百分比:

percentage = element.scrollTop / (element.scrollHeight - element.offsetHeight)

將其他DIV 的(scrollHeight - offsetHeight)乘以該百分比即可實現比例滾動。

2. Firefox 滾動循環

Firefox 可能會觸發滾動事件的無限循環。為了防止這種情況,暫時解除監聽器的綁定,設定scrollTop,然後重新綁定它:

<code class="javascript">var $divs = $('#div1, #div2');
var sync = 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);
    setTimeout( function(){ $other.on('scroll', sync ); },10);
}
$divs.on( 'scroll', sync);</code>

這種方法可以平滑 Firefox 中的滾動並防止無限循環問題。現場示範可在:

[http://jsfiddle.net/b75KZ/5/](http://jsfiddle.net/b75KZ/5/)

以上是## 如何在 Firefox 中使用 jQuery 實現平滑可靠的同步滾動?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn