#square
iOS デバイスのビューポートの垂直方向と水平方向の中心に
青が表示されています…</p>
<div id="square"></div>
#square {
width:100px;
height:100px;
background:blue;
margin:0 auto;
}
携帯電話でピンチ/ズーム ジェスチャを実行するときに、最小値と最大値の範囲内でサイズを変更したいと思います。
現在、これが私が使用しているすべてのJavaScriptです。
$(document).ready(function() {
var dom = document.body,
_width = parseInt($('#square').css('width')),
vel = 3,
min = _width,
max = 300,
scale;
dom.addEventListener("gesturechange", gestureChange, false);
function gestureChange(e) {
e.preventDefault();
scale = e.scale;
_width = Math.round(_width*(scale/vel));
if ( _width <= max && _width >= min )
$('#square').css({
'width' : _width + 'px',
'height' : _width + 'px'
});
if ( _width > max ) _width = max;
if ( _width < min ) _width = min;
}
});
ただし、サイズ変更全体のエクスペリエンスは途切れ途切れに感じられ、指にスムーズに反応しません。それは機能しますが、私が望むほどスムーズではありません。
最初に。JavaScriptの「タッチ」イベントとJavaScriptの「ジェスチャー」イベントの違いがよくわかりません。ここでさらに eventListeners が必要ですか? 好きgestureStart
でgestureEnd
、これが機能するために?
私が現在抱えている問題は、#square
ジャンプを最大値 (300) にズームインすると非常に高速ですが、指でサイズを正確に制御できないことです。また、一度サイズを変更すると、ズームアウト ジェスチャを行うときに再度サイズを小さくするのにも苦労します。
現在のコードを jsfiddle に置いたので、自分でテストできるかもしれません。http://jsfiddle.net/Ec3az/
この作品を完成させたいので、誰かがここで私を助けてくれるかもしれません。全体的な結果は、スマートフォンでズームインおよびズームアウトするときに、非常にスムーズなエクスペリエンスと正方形のサイズを実際に制御することです.
前もって感謝します
編集:ところで。標準のタッチ イベントのみを使用し、追加のライブラリは使用しないでください。