2012-04-19 11 views
2

私は本当にシンプルなマップを作成しました。ドラッグ可能にしたいと思っていました。ここでJQuery-UIドラッグ可能なウィンドウがロックされています

コードです: http://jsfiddle.net/AeABp/

それは動作しますが、私は私が望むどのように周辺の地図を移動することができます。しかし、私はそれがドラッグされたときに空白がないように、それが "窓"にロックされたいので、私はあなたが私の意味を理解することを願っています。 jquery-uiの概要も見ましたが、必要なものは見つかりませんでした。

答えて

4

を行う必要がありhttp://jqueryui.com/demos/draggable/#constrain-movementをチェックしてください。ちょっと混乱しましたが、封じ込めは要素の左上隅に基づいて要素を制約します。

$(function() { 
    var con = $('#container'); 
    var cw = con.width(), ch = con.height(); 
    var map = $('#map'); 
    var mw = map.width(), mh = map.height(); 
    var x1 = -mw + cw, y1 = -mh + ch; 
    map.draggable({containment:[x1,y1,0,0]}); 
}); 
+0

これは私のためには機能しません。 #containerにはCSSが必要ですか? con.width()とcon.height()は私のためにnullを返します。 – LauraNMS

+0

私の悪い - それは今動作します。 – LauraNMS

1

が、これはあなたがそれを正しく動作させるために座標のセットへの移動を制限する必要がありますトリック

+0

ねえ、ありがとう。私はすでにそれを試みましたが、それはバグです、おそらくオーバーフローのために:hidden? – Lizzaran

+0

ああ、私はjsfiddleでそれを見ることができます、私に奇妙に思えます。私はあなたに一例を構築しようとします。一方で、wijmo superpanelを見てください。これはやや異なるアプローチであり、実際には同じことをしませんが、あなたに適しているかもしれません(単なる提案であり、解決策ではありません))。 – giorgio

+0

ありがとう、私はそれを見ています:) – Lizzaran

0

(私はよく理解されている場合)、それを行うための簡単な方法があります:あなたの再生のため

$('#map').draggable({ 
    containment: 'window', 
    scroll: false 
}); 
関連する問題