2

約 300 行 12 列の大きなテーブルがあります。ページをページングしてテーブルをスクロールしている間、<thead>コンテンツはデフォルトでは表示されません。「内」をスクロールしながら見たいと思います<tbody>。つまり、画面の上部が行で始まる場合、ヘッダーが最初に表示されるようにしたいのです。それ以外の場合は、通常のテーブルのように動作する必要があります。

これまで見てきた一般的な解決策は、それ自体でスクロールできるテーブルを作成することです (したがって、ページのスクロールとは無関係です)。つまり、この質問に対する答えが示唆するものです。

ただし、画面全体に多数の列がある場合、特に 2 つの独立したスクロールバーがあるため、これはあまり実用的ではありません。モバイル デバイスでは、2 番目のスクロールバーが多くの貴重なスペースを奪います。また、使用するのは非常に刺激的です。単純に「ページをめくる」ことはできませんが、その小さなスクロール バーを押すには集中する必要があります。他のブラウザでは中のデータに触れながらスクロールできるのですが、外に出るとまたイライラする動きが…。

これを行うクリーンなCSSの方法はありますか?


に加えてmax_connectionsmax_user_connectionsがここで重要です。次のクエリを実行できます。

show variables like 'max_user_connections';

MySQL ユーザーの最大接続数を超えないようにするには、maximumpoolsize(接続文字列内の) がそれよりも低い値に設定されていること、max_user_connectionsおよび他のアプリが、合計が上限を超える可能性がある同じユーザー アカウントとの接続を開いていないことを確認する必要があります。たとえば、上限が 15 の場合、私の場合は 5 に設定できます。

これをキャッピングすることは、使用しているリソースを制限するために、ほとんどのホスティング サービスで非常に一般的です。

単一の接続でより大きなクエリのバッチを実行することも、実行可能な回避策になる可能性があります。

さらに、ホストの制限max_queries_per_hourやその他の変数もあります。

4

4 に答える 4

11

上記のコメントで述べたように、いつかposition:stickyがこの問題に対する決定的な答えになることを願っています (ここでの発表を参照)。

私の単純な解決策 -完璧なものではなく、むしろ演習として - スクリプトを使わない:

  • 1 つはページと共にスクロールし、もう 1 つは固定されたままのヘッドを複製します。
  • Z インデックスを操作して、適切なスレッドを表示する

http://jsfiddle.net/willemvb/hEyZh/

于 2012-10-16T21:00:04.357 に答える
2

もしあなたが:

ヘッダーなしで、必要なだけ長く幅の広いテーブルを作成します。テーブルヘッドで別のテーブルを作成しました。ヘッダーテーブルを別のDIV内に配置し、それをデータテーブル上にフロートさせます(z-index + position:absolute)。JQueryを使用すると、ウィンドウの読み込み、サイズ変更、スクロール、または関連するイベントで、対応するTDに一致するように各TH幅をリセットできます。スクロールしながらテーブルヘッドDIVの位置を変更することもできます。これは機能するはずです。例が必要な場合はお知らせください。このようにすると、必要な場合にのみブラウザのスクロールバーが表示されます。

幸運を。

于 2012-10-16T17:46:52.093 に答える
0

プラグインを使用できます。正常に動作します: http://web-gladiator.com/stickythead/

于 2013-09-14T11:48:29.223 に答える