私は現在、最初の列が絶対水平で、最初の行が絶対垂直のアジェンダのようなアプリケーションを持っています。スクロールエフェクトをキャッチし、CSSクラスの左または上のプロパティを変更することでこれを実現しています。 (これらの授業は最大700項目(毎日2年)とすることができます)。Internet Explorer 11のスクロール速度を最適化する
$(window).scroll(function() {
$('.Planning tr > td:first-child').css("left", "" + $(this).scrollLeft() + "px");
$('.Planning thead > tr:first-child').css("top", $(this).scrollTop()+50 + "px");
});
すべてのブラウザで期待どおりにこれは
(私はクロム、FirefoxとInternet Explorerでテストした)動作しますが、Internet Explorerの上で、それは非常に遅いです。 スクロールは、スクロールを停止した後にのみ表示されます。一方、ChromeとFirefoxでは、一番上の行が修正されているように見えます。
これを強化する方法はありますか?またはInternet Explorer用に最適化されているライブラリで、IEでこの「遅い」動作を回避できますか? jsfiddle例えば
https://jsfiddle.net/7mfcrLh5/12/(これはInternet ExplorerでChromeの素晴らしい作品ではなく)
こんにちはティムあなたが示唆したように、情報のためのおかげで、私は(1次回を変更しなければならなかった(しようとした)planningColための複数の列といくつかの理由のplanningcol.cssは({})動作しませんでし用がありますので、 この方法でも動作するようになっています:planningHead.css( "top"、win.scrollTop()+ 50 + "px"); 最終的にInternet Explorerの結果はまだ非常に不安定です:/たとえば、右から左にスクロールした場合、左の列はスクロールしていないように見え、スクロールが止まってから左に置かれるまで画面の中央に表示されます –
それは私が恐れていたものです。私の最初のパラグラフ、スロットル機能に進むn。 [シンプル版](http://sampsonblog.com/749/simple-throttle-function)は簡単に実装できます。私は自分の投稿を編集できるかどうかを確認します。 –
こんにちはTim、 リンクのコピーからスロットル関数をコピーしましたが、何らかの理由でコードが起動しませんでしたか? (私はconsole.log( "test")で試してみた;と私はそのログを参照してください)。しかし、スクロールイベントだけでconsole.logをログすると、ログが表示されます。私はまだこのスロットル機能に誤りがあると信じています。 私はこれを正しく理解すれば、200msごとに実行されるタイマーを実装すれば、インターネットエクスプローラで「遅れ」の感覚を修正するでしょう。 –