2013-07-22 7 views
16

ユーザーが携帯端末でウェブサイトをズームすると、自分のウェブサイト(特定の部門)の特定の要素のみをズームしたい。以下の写真は私の考えを示しています。あなたが見ることができるようにウェブコンテンツ(HTML、CSS、JavaScript)の特定の要素を拡大する

enter image description here

は、テストがズームされますが、トップのdivは、同じサイズのままです。テストを含むdivのみがズーム/スケーリングされます。

誰かに私にこれを達成するためのヒントを教えてもらえますか?私は本当にどこから始めるべきか分かりません。

更新日:http://jsfiddle.net/WyqSf/。このページを拡大すると、両方の要素が拡大されます。ズームするときにコンテンツ要素だけを調整したい私がこれを達成するために考えることの1つの方法は、divの幅を調整するためにユーザー入力とjavascriptを取得することですが、これは通常の動作と矛盾しています。

擬似コード:

container.mousemove { 
    content.changeWidth();.. 
} 
+0

...あなたのアイデアを得ると想像。コードがなければ、CSSを多用することはできません。初心者のための – AnaMaria

+0

はこれを見ているhttp://stackoverflow.com/questions/4049342/how-can-i-zoom-a-div-in-firefox-and-opera –

+1

@サニー。彼はサイト全体を拡大するつもりはない。彼はテキスト部分だけをズームしようとしています... – AnaMaria

答えて

12

、あなたは彼らがズームピンチすることができないように、ユーザーのビューポートを修正する必要があり、これを行うために、ページを開き、Hammer.jsのようなタッチイベントライブラリを使用して、拡大縮小したいページ上の要素を適切にサイズ変更するピンチズームジェスチャにコールバックをアタッチします。

ビューポートの固定は、あなたのHTMLのhead要素で起こる:

<meta name="viewport" content="width=device-width, maximum-scale=1.0"> 

あなたは「ピンチズーム」ジェスチャーを検出するために、hammer.jsを使用すると、ライブラリはあなたに非常に詳細なevent.gestureオブジェクトを与えますユーザーがズームしている速度/速度を検出することができます。

挟み込み中の2つのタッチポイント間の距離の変化は、event.gesture.scale(see hammer documentation)で表され、縮尺が増加すると、それに応じてテキストが増加します...減少するとテキストサイズが減少します。使用数学:

$('body').hammer().on("pinch", function(event) { 
    console.log(event.gesture.scale); 
    // do math... 
}); 

私はあなたのコードやフィドルの一部を貼り付け

+0

ありがとうございました。私は提案されたライブラリを見ていきます。あなたの答えは私にとってかなり安定しているように私はあなたに50点を与えます。 – Bram

+2

新しいHammerJSバージョン(少なくとも2.0.4)では、イベントオブジェクトは異なるメンバを持ち、 "ジェスチャ"メンバがないことに注意してください。 代わりに、新しいHammerJSバージョンにはevent.scaleを使用できます。完全なイベントオブジェクトレイアウトのAPIリファレンスを確認してください:http://hammerjs.github.io/api/ – kvdv

0

あなたはZoomoozプラグインを使用することができます。ドキュメント内には、Zooming inside a containerセクションを確認 - これはあなたが必要とするかもしれないものである。

<div class="zoomViewport"> 
    <div class="zoomContainer"> 
     <div class="zoomTarget">Target 1</div> 
     <div class="zoomTarget">Target 2</div> 
    </div> 
</div> 

Check the JS Fiddle

+0

JSFiddleはモバイルデバイスでは期待どおりに機能しません(ピンチを使用してズームすることはできません)。 – Basj

関連する問題