私が書いている画像の「ズーム/パン」コードについて、Chrome で奇妙な動作が見られます。他のブラウザでは高品質のサイズ変更された .jpg 画像がレンダリングされないように見えるため、Chrome でのみ問題が発生します。
画面をクリックしてドラッグすると、javascript と絶対配置 (上/左) を使用して画面上を移動し、画像を表示します。私の完全なプロジェクトでは、画面の一部を占めるコンテナ div と、大きな画像 (4200x4200px) を含む別の div があります。クロムでは、画像をどのように「ズームイン」したかによって、応答が非常に「遅く」なりました。私が話していることを皆さんに示すために、いくつかの簡単なテストを書きました。
フルスクリーン モードで 1920x1080 以上の解像度でサンプルを実行してください。これは、div コンテナーがイメージ idv (800x800px にサイズ変更) より小さいパンニング コードです。 テスト 1 画像が div の高さいっぱいになると、パンのパフォーマンスが非常に悪いことに注意してください。画像の表示部分が div の高さ全体を占めていない場合は、かなり滑らかです。
次は同じコードですが、唯一の変更点は、div コンテナーが img div (801px) よりも 1 ピクセル多く設定されていることです。現在、画像のパンニングは常に非常にスムーズです。 テスト 2
他にもテストがありますが、スタック オーバーフローによりリンクが 2 つに制限されています。パン ハンドラー関数は次のとおりです。 boardPanHandler2(event) { var newLeft; var newTop;
if (gBoardMouseDownFlag) {
newLeft = gBoardPanLeftStart + event.pageX - gBoardPanPageXStart;
newTop = gBoardPanTopStart + event.pageY - gBoardPanPageYStart;
$(".div-board").css('left', newLeft).css('top', newTop);
//$(".div-board").css('transform', 'translate(' + newLeft + 'px, ' + newTop + 'px)');
}
$("h1").text($(".div-board").width() + "," + $(".div-board").height() + " " + gBoardContainerX + "," + gBoardContainerY);
}
私は一般的にhtml/css/javascriptにかなり慣れていないので、気楽にやってください。どんな洞察も素晴らしいでしょう!