Bootstrap 2。これを達成するのは?
bootstrapはデフォルトではドラッグアンドドロップ機能を備えていませんが、小さなjQuery UIスパイスをミックスに追加して、探している効果を得ることができます。たとえば、 draggable
フレームワークからの相互作用。モーダルIDをターゲットにして、モーダル背景内でドラッグできるようにします。
これを試して:
[〜#〜] js [〜#〜]
$("#myModal").draggable({
handle: ".modal-header"
});
更新: bootstrap3 demo
ドラッグ可能なオプションが何であれ、*-transition
のプロパティ.modal.fade
ブートストラップのCSSファイル、または少なくともドラッグ中に一時的に無効にするJSを作成します。そうしないと、モーダルは期待どおりに正確にドラッグされません。
このような小さなスクリプトを使用できます。
jQuery UIなしでドラッグ可能 から簡略化
(function ($) {
$.fn.drags = function (opt) {
opt = $.extend({
handle: "",
cursor: "move"
}, opt);
var $selected = this;
var $elements = (opt.handle === "") ? this : this.find(opt.handle);
$elements.css('cursor', opt.cursor).on("mousedown", function (e) {
var pos_y = $selected.offset().top - e.pageY,
pos_x = $selected.offset().left - e.pageX;
$(document).on("mousemove", function (e) {
$selected.offset({
top: e.pageY + pos_y,
left: e.pageX + pos_x
});
}).on("mouseup", function () {
$(this).off("mousemove"); // Unbind events from document
});
e.preventDefault(); // disable selection
});
return this;
};
})(jQuery);
例:$( "#someDlg")。modal()。drags({handle: "。modal-header"});
jquery UIは大きく、ブートストラップと競合する可能性があります。
別の方法はDragDrop.jsです: http://kbjr.github.io/DragDrop/index.html
DragDrop.bind($('#myModal')[0], {
anchor: $('#myModal .modal-header')
});
@ user535673が示唆するように、まだ遷移に対処する必要があります。ダイアログからフェードクラスを削除するだけです。