[解決済み] とてもとてもとても大きなディブ
2022-10-30 09:59:17
質問
私のプロジェクトでは (
BigPictu.re
または
bigpicture.js GitHubプロジェクト
) の場合、私は潜在的にとてもとてもとても大きな
<div>
のコンテナを扱わなければなりません。
私が使っているシンプルなアプローチでは、パフォーマンスが低下するリスクがあることは知っていましたが、それがほとんどで存在するとは思いませんでした...。Chrome のみです!
もしあなたが この小さなページ (をテストする場合(以下のコードを参照)、パンニング(クリック+ドラッグ)が行われます。
- Firefox では通常 / スムーズ
- Internet Explorer でも通常 / スムーズに動作
- Chrome では非常に遅い (クラッシュ寸前)!
もちろん、私は (私のプロジェクトに) いくつかのコードを追加して、大幅にズームインしたときに、潜在的に非常に非常に大きなフォント サイズのテキストを隠すようにすることができました。しかし、それでも Firefox と Internet Explorer はそれを正しく処理し、Chrome は処理しないのはなぜですか?
JavaScript、HTML、または CSS で、ブラウザに を試さない を試さないようにする方法はありますか? (現在のビューポートだけをレンダリングする!)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<style>
html, body {
overflow: hidden;
min-height: 100%; }
#container {
position: absolute;
min-height: 100%;
min-width: 100%; }
.text {
font-family: "Arial";
position: absolute;
}
</style>
</head>
<body>
<div id="container">
<div class="text" style="font-size: 600px; left:100px; top:100px">Small text</div>
<div class="text" style="font-size: 600000px; left:10000px; top:10000px">Very big text</div>
</div>
<script>
var container = document.getElementById('container'), dragging = false, previousmouse;
container.x = 0; container.y = 0;
window.onmousedown = function(e) { dragging = true; previousmouse = {x: e.pageX, y: e.pageY}; }
window.onmouseup = function() { dragging = false; }
window.ondragstart = function(e) { e.preventDefault(); }
window.onmousemove = function(e) {
if (dragging) {
container.x += e.pageX - previousmouse.x; container.y += e.pageY - previousmouse.y;
container.style.left = container.x + 'px'; container.style.top = container.y + 'px';
previousmouse = {x: e.pageX, y: e.pageY};
}
}
</script>
</body>
</html>
どのように解決するのですか?
への変更
position: fixed
に変更することで、スピードアップするようです。
関連
-
[解決済み】divの高さを画面の残りスペースで埋めるようにする
-
[解決済み] divをクリックすると、その下にある要素に移動します。
-
[解決済み] div' コンテナに合わせて画像を自動リサイズするにはどうしたらいいですか?
-
[解決済み] コンテナの幅に応じたフォントの拡大縮小
-
[解決済み] divの中のテキストを縦に揃えるにはどうしたらいいですか?
-
[解決済み] divの内容を下に揃える方法
-
[解決済み】あるdivの上に別のdivを重ねる方法
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] 文字列のn番目の出現箇所を取得するには?
-
[解決済み] JavaScriptとLuaの微妙な違い [終了しました]
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] ジェスト あるクラスの特定のメソッドをモックする方法
-
[解決済み] ExtJS 4のイベントハンドリングについて
-
[解決済み] URL/アドレスバーからJavascriptの関数を呼び出す
-
[解決済み] Javascript / jQueryでAndroid端末を検出する。
-
[解決済み] サブドメインにまたがってlocalStorageを使用する
-
[解決済み] TypeScriptプロジェクトで既存のC#クラス定義を再利用する方法
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] 各オブジェクトに?重複
-
[解決済み] 文字列とラベルのローカライズとグローバリゼーションのベストプラクティス【終了しました
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?