Bootstrap 2 tarafından sağlanan modal formun etrafından dolaşabilmeyi (grileştirilmiş arka planda, sürükleyip bırakarak) yapabilmeyi isterim. Bunu başarmak için en iyi uygulamanın ne olduğunu söyleyebilir misiniz?Twitter Bootstrap Modal Formu: Nasıl sürükleyip bırakılır?
cevap
Önyükleme işlevi varsayılan olarak sürükleme ve bırakma işleviyle birlikte gelmez, ancak aradığınız efekti elde etmek için karışıma biraz jQuery UI baharatı ekleyebilirsiniz. Örneğin, çerçeveden draggable
etkileşimini kullanarak, modal kimliğinizi, modal fonunda sürüklenmesini sağlamak için hedefleyebilirsiniz.
bu deneyin:
JS
$("#myModal").draggable({
handle: ".modal-header"
});
Güncelleme: bootstrap3 demo
sürüklenebilir ne olursa olsun gitmek seçeneği sayesinde, Bootstrap CSS dosyasındaki .modal.fade
için *-transition
özelliklerini kapatmak ya da en azından geçici olarak sürükleyerek sırasında bunları devre dışı bırakır bazı JS yazmak isteyebilirsiniz. Aksi takdirde, modal tam olarak beklediğiniz gibi sürüklenmez.
bu sorun http://stackoverflow.com/questions/15881245/draggable-js-bootstrap-modal-performance-issues – bbodenmiller
jquery UI büyüktür ve önyükleme ile çakışabilir.
alternatif
DragDrop.js geçerli: @ user535673 anlaşılacağı gibi http://kbjr.github.io/DragDrop/index.htmlDragDrop.bind($('#myModal')[0], {
anchor: $('#myModal .modal-header')
});
Hala geçişler uğraşmak zorunda. Sadece soluk sınıfını iletişim penceremden kaldırırım.
Bunun gibi küçük bir komut dosyası kullanabilirsiniz.
(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);
örnekten basitleştirilmiş: $ ("# someDlg") modal() sürükler ({kolu: "modal-başlığı"})..;
adresinde tartışılmış ve çözümlenmiştir. Kodunu denedin ve işe yaradı, ama sürükleyerek buggy. Yukarıdaki bağlantıdan kodu alarak düzeltildi. Lütfen kodunuzu, bağlantıdan gelen birinden güncelleyin. –
- 1. Twitter Bootstrap Modal Formu Gönder
- 2. Twitter ile Ember.js Bootstrap Modal
- 3. Twitter Bootstrap modal pencerede titreme
- 4. Twitter Bootstrap Modal karanlık mı?
- 5. Twitter Bootstrap: Modal iletişim kutusu nasıl kapatılır?
- 6. Twitter Bootstrap modal - "uzak" içerik yükleme
- 7. Twitter BootStrap Modal Penceresi geri dönüş bağlantısı
- 8. Twitter Bootstrap Modal Çoklu olay ateşleme
- 9. Twitter bootstrap modal harici URL'ler çalışmıyor
- 10. Bootstrap modal altbilgi, modal
- 11. Twitter bootstrap düğmesini gizle
- 12. Twitter'ın Bootstrap Formu Doğrulama
- 13. Twitter Bootstrap Kalıcı veri-dismiss
- 14. Sürükleyip bırakılan dinamik kılavuz Bootstrap
- 15. Bootstrap modal, jsfiddle'de açılmıyor
- 16. Bootstrap Modal Odaklanmadı
- 17. Bootstrap Modal, Gezinti Sihirbazı
- 18. Backbone.js görünümünde bootstrap-modal kullanma
- 19. Twitter Bootstrap "kapsayıcı sıvı"
- 20. Twitter bootstrap bölünmüş açılır
- 21. Hatalı seçenek: '; _;' Twitter Bootstrap
- 22. Twitter bootstrap ile Browserify
- 23. Twitter bootstrap typeahead delay
- 24. twitter bootstrap carousel kaybolur
- 25. Twitter Bootstrap test ortamı
- 26. Twitter Bootstrap Atlıkarınca - Dönme
- 27. Twitter Bootstrap çevrimiçi yükleyici?
- 28. Twitter Bootstrap Containers
- 29. twitter bootstrap dinamik karusel
- 30. Twitter-bootstrap "eki"
'.modal-header {imleç: move}' ayarlandıktan sonra, bu bir çekicilik gibi çalışır. – DontVoteMeDown
Son bootstrap sürümü üzerinde çalıştığını göremiyorum, 3.3.5. Herhangi bir ipucu? Jquery, 1.11.0 olarak değiştirildi, ancak şans yok. Teşekkürler. – Khrys
Merhaba @Khrys, burada sürüklenebilir modal başlığı, http://output.jsbin.com/vafulubaju ile güncellenmiş bir demo. Bu cevap oldukça eskidir, bu yüzden demodaki bazı JS bağlantılarının kesildiğini tahmin ediyorum). –