FixedMidashi 注意事項・その他

TOP    注意事項・その他    関数説明    デモページ    動作確認用ページ    ダウンロード

目次

注意事項・その他

  1. スクロールが不要な場合は固定見出しは作成しません。
  2. 固定見出しは、スクロールしていない時は表示せず、スクロールしている時のみ表示します。
  3. body モードの場合、スタイルシートの "position: fixed" を利用して見出しを固定していますが、 IE9 以前は、表示モードが「互換モード」の場合に fixed をサポートしていないため、 この場合のみ異なる方式で実装しています。 このため、IE9 以前の場合、body モードを使用した互換モードのページは、 スクロール中の固定見出しの見え方が他のブラウザと少し異なります。 IE の「互換表示」機能を使用した場合も同様です。 動作確認用ページは 互換モードなので違いを確認できます。
  4. モバイル端末の場合、スクロール操作に対して少し遅れて(後を追いかけるように) 固定見出しがスクロールします。これは、ブラウザからの onscroll イベントの 通知タイミングが遅いためであり、故意に遅らせているわけではありません。
  5. 印刷時は、作成した固定見出しが出力されないようにしています。
  6. 固定見出しの列の幅や行の高さが、微妙に(1~2ピクセル)ずれる場合があります。 ブラウザ、スタイル、表示内容、拡大・縮小状態にもよります。
  7. div モードの場合、div 直下には対象 table 以外の要素は配置しないでください。 配置すると固定見出しの位置がずれます。
  8. 固定見出し内に <input>, <select> 等の入力用要素がある場合は、 コピー要素の値を元要素と同じにするための制御が必要な場合があります。 詳細は関数説明を参照してください。
  9. 元要素をコピーする際、name 属性はコピーしません(コピー要素に name は設定しません)。 したがって、固定見出し内にコピーした <input>, <select> 等の入力用要素が ある場合に、その値が submit 対象になってしまうことはありません。 コピー要素が document.getElementsByName() の取得対象になることもありません。
    ただし、ラジオボタンだけは、name がないと機能しないため name を付けます。 その値は、元要素の name 値の前に "_FIXED_HEADER_" で始まる接頭語を付けた値になります。 例えば、元要素の name が "radio1" の場合、コピー要素の name は "_FIXED_HEADER_N_radio1" のようになります("_N_" の部分は、別の文字の場合もあります)。
    なお、id 属性については copyid の項を参照してください。
  10. 元 table 内に <img> がある場合は、<img> の width, height を省略しないことを推奨します。 省略した場合、固定見出し作成後に元 table のセルの幅や高さが変わり、固定見出しがずれる可能性があります。

ブラウザと性能

次の表は、データの行数別・ブラウザ別の FixedMidashi.create() の処理時間 (各ブラウザと本プログラムとの相性)です。 動作確認用ページでの処理時間を、 2012年製造のPC(CPU: Intel Core 2.60GHz)で測定した結果です。 処理時間はPCの性能によって大きく変わるため、大まかな目安としてください。 2014年5月時点の最新バージョンのブラウザで確認しています。

FixedMidashi.create() の処理時間(ミリ秒)
  100行 500行1000行
Chrome 12 43 81
Safari 18 63 126
Opera 16 87 251
Firefox16 87 268
IE11 54 215 455
IE10 40 157 334
IE9 51 231 516
IE8 66 307 629
(※1)16113004051
データの列数は10、FixedMidashi のバージョンは 1.5

(※1)最終行は ver1.4 での IE8 かつ標準モードでの測定値です。 ver1.4 までは、IE8 の場合に表示モード(標準モードと互換モード)の違いによる性能差が あったのですが(標準モードが極端に遅い)、ver1.5 での修正によりこの差はなくなっています。

免責事項

更新履歴

Verリリース日更新内容
1.02012/07/21初リリース
1.12013/05/03ファイルを軽量化(Minified化)
1.22013/06/15IE8かつ標準モードの場合の性能を少し改善
1.32014/06/15モバイル対応
1.42014/07/05列幅の設定処理を改善
1.52014/08/12IE8かつ標準モードの場合の性能を改善
1.62014/11/23IEの「互換表示」対応
1.72015/01/31body-header-id オプション追加
1.82015/05/03body-left-header-id, div-auto-size オプション追加
1.92015/11/15 (1) box-shadow オプション追加
(2) 以下の場合に正常動作していなかった不具合を修正
・先頭行にrowSpanが2以上のセルがあるtableに対して、rows(固定する行)を0にした場合
・対象がJavaScriptで動的に生成したtableで、tbodyがない場合
1.102017/10/28 (1) class オプション追加
(2) 2017/10/28時点で最新の chrome だと見出しがずれる問題(document.body.scrollTop でスクロール位置が取得できなくなった問題)に対応
1.112018/12/03 固定見出し内に <input> タグがあり、その type が HTML5 で追加された "tel" などの場合にも、 コピー要素と元要素の値を同じにするための制御を追加


初版: 2012年7月21日   最終更新: 2018年12月03日    Copyright (C) 2012-2018 K.Koiso
▲ページトップ