2012-02-19 12 views
4

ドラッグ可能な要素を含むようにして、表示可能なウィンドウの外にドラッグできないようにしています。ユーザーがページの上部にある場合はうまく動作しますが、まったくスクロールしてしまうとうまくいきません。jQueryドラッグ可能な包含表示ウィンドウ?

どうすればいいですか?ただ、containment: 'window'と可能scroll: false

例を使用

$(".chat-wrapper > li.draggable").draggable({ 
greedy: true, 
handle: '.chat-button', 
containment: 'html' 
}); 

答えて

2
$(".chat-wrapper > li.draggable") 
.on('mousemove',function(){ // Update containment each time it's dragged 
    $(this).draggable({ 
     greedy: true, 
     handle: '.chat-button', 

     containment: // Set containment to current viewport 
     [$(document).scrollLeft(), 
     $(document).scrollTop(), 
     $(document).scrollLeft()+$(window).width()-$(this).outerWidth(), 
     $(document).scrollTop()+$(window).height()-$(this).outerHeight()] 
    }); 
}) 
.draggable({ scroll: false }); 
5

$('#selector').draggable({ 
    containment: 'window', 
    scroll: false 
}); 

さらに詳しい情報:

containmentscroll

+0

、シンプルで明確で、それはあまりにも作品を働い削除greedy:true

を削除してみてください – Fabio

0

私の状況にちょうど1つのバグ:私は負の上と左のマージン(asboluteの位置で真ん中に配置する)でdraggable DIVを持っています。 したがって、包含はXとYの正の値に対して機能しますが、DIVは負の座標にもなります。回避策はありますか? );

0

は、私はまったく同じことを達成しようとしましたが、それは

関連する問題