Heim  >  Artikel  >  Web-Frontend  >  ## Wie erreicht man mit jQuery in Firefox ein reibungsloses und zuverlässiges synchronisiertes Scrollen?

## Wie erreicht man mit jQuery in Firefox ein reibungsloses und zuverlässiges synchronisiertes Scrollen?

Linda Hamilton
Linda HamiltonOriginal
2024-10-24 19:07:02526Durchsuche

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

Optimierung des synchronisierten Scrollens und Firefox-Auflösung

Bei der Implementierung des synchronisierten Scrollens mit jQuery ist es wichtig, zwei potenzielle Probleme anzugehen:

1. Synchronisierung von Größenunterschieden

Um unterschiedliche DIV-Größen zu berücksichtigen, bestimmen Sie den Prozentsatz des gescrollten Inhalts:

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

Multiplizieren Sie die anderen DIVs (scrollHeight - offsetHeight) mit diesem Prozentsatz, um proportionales Scrollen zu erreichen.

2. Firefox-Scroll-Schleife

Firefox kann eine Endlosschleife von Scroll-Ereignissen auslösen. Um dies zu verhindern, heben Sie die Bindung des Listeners vorübergehend auf, legen Sie scrollTop fest und binden Sie es erneut:

<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>

Dieser Ansatz sorgt für ein gleichmäßigeres Scrollen in Firefox und verhindert das Problem der Endlosschleife. Eine Live-Demonstration ist verfügbar unter:

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

Das obige ist der detaillierte Inhalt von## Wie erreicht man mit jQuery in Firefox ein reibungsloses und zuverlässiges synchronisiertes Scrollen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn