Pengoptimuman Tatal Tersegerak dan Resolusi Firefox
Apabila melaksanakan tatal disegerakkan menggunakan jQuery, adalah penting untuk menangani dua isu yang berpotensi:
1. Penyegerakan Perbezaan Saiz
Untuk mengambil kira saiz DIV yang berbeza-beza, tentukan peratusan kandungan yang ditatal:
peratusan = element.scrollTop / (element.scrollHeight - element.offsetHeight)
Darabkan DIV yang lain (scrollHeight - offsetHeight) dengan peratusan ini untuk mencapai penatalan berkadar.
2. Gelung Tatal Firefox
Firefox mungkin mencetuskan gelung peristiwa tatal yang tidak terhingga. Untuk mengelakkan ini, lepaskan pendengar buat sementara waktu, tetapkan scrollTop dan ikat semula:
<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>
Pendekatan ini melancarkan penatalan dalam Firefox dan menghalang isu gelung tak terhingga. Demonstrasi langsung boleh didapati di:
[http://jsfiddle.net/b75KZ/5/](http://jsfiddle.net/b75KZ/5/)
Atas ialah kandungan terperinci ## Bagaimana untuk Mencapai Tatal Segerak yang Lancar dan Boleh Dipercayai dengan jQuery dalam Firefox?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!