現在、私は作成しようとしている小さなImage Zoom/Scrollerスクリプトを試しています。はい、そこにはプラグインがあることがわかりますが、これは軽量版とこれ用に開発しています学習する。私が今持っている主な問題は、画像の幅と高さだけに画像のスクロールを制限する方法がわからないことです。ユーザーが画像の幅や高さになったときに画像がスクロールしないようにスクリプトを設定して、画像がdivからスクロールされないようにします。以下は私のスクリプトのバイブルです。私が正しい方向に動くのを助けるためのアドバイスやヒントは、非常に高く評価されます。click here to go to fiddleJavaScriptスクロール画像エッジ検出
答えて
私はこれらのうちの1つを以前構築しました。
原則として、mousedown
,mouseup
、mousemove
という3つのイベントを聴いています。
まず、div
を使用して、画像をdiv
のbackground-image
として設定することをお勧めします。これにより、background-position
を使用してdiv
の内側で画像を移動できます。これをdiv
#container
とします。
mousedown
には、画像の背景位置の座標を記録します。ページの読み込み時には、0 0
になります(あなたが他の何かになるように指示していない限り、あなたはそうではないと仮定します)。 mousedown
イベントが発生すると、これは本質的にドラッグ操作の開始です。したがって、draggingStarted
変数を設定することをお勧めします。
mousemove
には、draggingStarted
がtrueであるかどうかを確認する必要があります。そうであれば、マウスカーソルが移動した相対距離を計算し、それに応じて背景画像の座標を変更します。
mouseup
には、draggingStarted
変数をfalseに設定します。これは、mousemove
イベントが発生した場合、イメージの位置は固定されたままになるためです。
ここで問題となっているのは、これまでに与えられた解決策では背景位置の座標が画像のオーバーシュートを許容するため、部分的に空白の#container
が得られることです。 の解決策の問題は、画像の寸法を記録してから、背景画像を移動する距離を計算するときに(mousemove
の関数で)、新しい背景画像の座標が外側にあるかどうかを確認してください画像の境界。彼らがそうであれば、それを許可しないでください!
- 1. カラー画像のエッジ検出CannyAlgorithm
- 2. OpenCVでの画像エッジ/形状検出
- 3. 画像ボックスを検出するエッジC#
- 4. 画像のパースペクティブアンドロイドでエッジ検出をトリミングする
- 5. 画像処理におけるエッジ検出
- 6. エッジ検出された画像のオブジェクト識別?
- 7. 背景画像 - エッジ
- 8. エッジ検出iphone opencv
- 9. エッジ検出手法
- 10. イメージマップのエッジ検出
- 11. javascript - 画像のスクロールのようなグーグルマップ
- 12. mxGraph画像ノードのエッジ
- 13. 画像の一部を選択してエッジ検出のマスクを作成する
- 14. 左スクロールを検出するJavaScript
- 15. 画像のスクロール
- 16. HTML5 JavaScript画像出力
- 17. 顔検出+画像モーフィング
- 18. 画像処理 - ミュージックノートブロック検出
- 19. Pythonの画像スポット検出
- 20. マルチ画像衝突検出
- 21. 画像ビューのタッチ検出
- 22. 検出エッジ(接続エッジ)およびエッジ長さ及び旋回
- 23. 1次元エッジ検出
- 24. OpenCVでのエッジ検出
- 25. MATLAB:片方向エッジ検出
- 26. Android - モバイルでエッジ検出
- 27. C#でのエッジ検出
- 28. Javascriptで画像の向きを検出する
- 29. javascriptでピンチとスケールの画像を検出する
- 30. Three.js回転ベクトルと画面のエッジ検出
私に今始めるとありがとう、ありがとう、私はあなたのイメージを保持するためにdiを使用して絶対とドラッグは、イメージの上と左のポーズを変更する原因は何ですか?メソッドを使ってイメージを作成するdivのイメージをbg? – Lawrence
Hmm。さて、あなたは確かにその方法を試すことができますが、私は '背景画像 'で成功しました。 'div'の' position'を 'relative'に設定し、それに絶対的に画像を配置する必要があります。あなたはdivから画像がこぼれ落ちるのを隠す必要があるので、divで 'overflow:hidden'を使用してください。 – Alex
これはまさに私が目指しているものです。上記の私の例をチェックしてください。 – Lawrence