私は以前にこの質問をしましたが、回答は私が何をする必要があるかを私に教えてくれましたが、例を提供しなかったので、私はまだ解決策を見つけていません。
height:100% width:100%
オクラホマの地図の画像である「コンテナ」と呼ばれる最初のdivがあります。ユーザーがマップの特定のセクション(この例ではパンハンドル)をクリックすると、divがパンハンドル画像であるdivに切り替えられるという考え方です。クリックしたときのマウスのピクセル位置を知ることで、ユーザーがクリックした場所を特定します。
問題は、画面のサイズが異なるとピクセル値が異なることです。ユーザーが画面サイズに基づいてクリックする場所の計算をスケーリングするには、次のことを行う必要があると言われています。
比較する前に、すべての値をスケーリングします。すべてのxに正規の幅を掛け、実際の幅で割り、yと高さについても同じようにします。
「すべてのxに正規の幅を掛けて、実際の幅で割る」と混乱しています。とにかくスケーリングしてみました。パンハンドルの最初の端が画面の左側から3.1%離れており、最も遠い端が画面の左側から35.7%離れていることがわかりました。私は次のコードを持っています:
$("#container").click(function(e)
{
var x = event.pageX;
var y = event.pageY;
// Variables for area of pan handle
/* These variables do not seem to work yet */
var xScale1 = 0.031*x;
var xScale2 = 0.357*x;
if(x >= xScale1 && x "less-than"= xScale2)
{
alert("You clicked the panhandle!");
}
}
これにより、パンハンドルの水平方向の制限内をクリックするとアラートがポップアップ表示されますが、何も起こりません。私は自分の値を「実際の幅」で割っていないことに気づきました。「すべてのxに正規の幅を掛けて、実際の幅で割る」方法の例を教えてください。