Maison > interface Web > Tutoriel d'amorçage > Comment glisser et déposer des composants dans bootstrap

Comment glisser et déposer des composants dans bootstrap

爱喝马黛茶的安东尼
Libérer: 2019-07-17 14:17:06
original
5463 Les gens l'ont consulté

Comment glisser et déposer des composants dans bootstrap

Étapes (basées sur la version 3.3.4 ou supérieure 3.x) :

Ouvrir bootstrap Find le bloc de code du composant modal dans le code source .js, et ajoutez du code glisser-déposer sous le bloc de code Modal.DEFAULTS pour l'implémenter.

Modal.DEFAULTS = {
 backdrop: true,
 keyboard: true,
 show: true
}
//新加入的拖拽
Modal.prototype.draggable = function () {
 var $ele = this.$element;
 var mouseOffset;
 var $modalDialog = $ele.find(".modal-dialog");
 var dialogOffset;
 
 $ele.find(".modal-header").on('mousedown', function (event) {
 $(this).addClass({cursor: 'move'});
 $('body').addClass('select');
 dialogOffset = $modalDialog.offset();
 mouseOffset = {
  top: event.pageY - dialogOffset.top,
  left: event.pageX - dialogOffset.left
 };
 $('body').on("mousemove", function (event) {
  var left = event.pageX - mouseOffset.left;
  var top = event.pageY - mouseOffset.top;
  if (left < 10) {
  left = 0;
  } else if (left > $(window).width() - $modalDialog.width()) {
  left = $(window).width() - $modalDialog.width();
  }
  if (top < 10) {
  top = 0;
  } else if (top > $(window).height() - $modalDialog.height()) {
  top = $(window).height() - $modalDialog.height();
  }
  $modalDialog.offset({
  top: top,
  left: left
  });
 });
 });
 
 $(document).on("mouseup mouseleave", function () {
 $(&#39;body&#39;).off("mousemove");
 });
}
Copier après la connexion

Recommandations associées : "Tutoriel de démarrage de Bootstrap"

2 Ajoutez et appelez la méthode draggable dans la méthode show du modal

Modal.prototype.show = function (_relatedTarget) {
    var that = this
    var e = $.Event(&#39;show.bs.modal&#39;, {relatedTarget: _relatedTarget})
 
    this.$element.trigger(e)
 
    if (this.isShown || e.isDefaultPrevented()) return
 
    this.isShown = true
 
    //调用draggable()增加拖拽
    this.draggable()
    this.checkScrollbar()
    this.setScrollbar()
    this.$body.addClass(&#39;modal-open&#39;)
 
    this.escape()
    this.resize()
    //......省略
}
Copier après la connexion

pour terminer. les opérations ci-dessus Après avoir directement introduit le code source js qui vient d'être modifié, la page peut déjà très bien supporter le glisser-déposer, et l'ensemble du glisser-déposer est dans la portée de la fenêtre visuelle et ne dépassera pas la limite.

Remarque : après avoir terminé la modification du code source ci-dessus, il est préférable de compresser et de conditionner le code source du bootstrap. Ceux qui ne sont pas familiers avec la construction automatique peuvent le mettre sur un site Web ouvert pour le compresser. avec la construction automatique, il est préférable d'utiliser des outils frontaux tels que gulp et webpack pour empaqueter et compresser le code source afin de réduire l'utilisation de la bande passante pendant le chargement des pages Web. Bien sûr, il est également recommandé de nommer le fichier comme bootstrap-draggable.min.js afin que vous puissiez clairement deviner en quoi ce fichier est différent du fichier d'origine. De plus, vous pouvez également télécharger directement le code source de la version bootstrap3.x, puis modifier le modal.js à l'intérieur, puis utiliser sa propre version grunt pour reconditionner.

Le problème se pose : par rapport à la version 3.x, le code source de la version bootstrap 4.0+ n'a pas beaucoup de modifications sur le composant modal. La méthode ci-dessus peut également être utilisée. Y compris en centrant le modal, vous pouvez également modifier le code source pour le compléter.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal