Comment créer un élément, par ex. un div, draggable en utilisant jQuery?Comment faire glisser un élément dans jQuery?
Répondre
Première charge de l'interface utilisateur jQuery:
<link type="text/css" href="css/themename/jquery-ui-1.7.1.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.7.1.custom.min.js"></script>
Ensuite, utilisez jQuery UI draggable method:
<script type="text/javascript">
$(function() {
$("#b").draggable();
});
</script>
Vous pouvez faire avec jquery uniquement, sans jquery UI:
function handle_mousedown(e){
window.my_dragging = {};
my_dragging.pageX0 = e.pageX;
my_dragging.pageY0 = e.pageY;
my_dragging.elem = this;
my_dragging.offset0 = $(this).offset();
function handle_dragging(e){
var left = my_dragging.offset0.left + (e.pageX - my_dragging.pageX0);
var top = my_dragging.offset0.top + (e.pageY - my_dragging.pageY0);
$(my_dragging.elem)
.offset({top: top, left: left});
}
function handle_mouseup(e){
$('body')
.off('mousemove', handle_dragging)
.off('mouseup', handle_mouseup);
}
$('body')
.on('mouseup', handle_mouseup)
.on('mousemove', handle_dragging);
}
$('#b').mousedown(handle_mousedown);
Cela devrait être la réponse acceptée car elle ne nécessite pas de plugin supplémentaire. – BFWebAdmin
@BFWebAdmin pas nécessairement parce que la question demande clairement/spécifiquement jquery .. – MJB
@MJB - Par plugin supplémentaire, je voulais dire jQuery UI, qui doit être installé séparément. – BFWebAdmin
Je viens Ceci est très portable au lieu de "glisser" dans toute l'interface utilisateur de jQuery.
Il ne sélectionne pas le texte lorsque vous le faites glisser en dessous pour que cela fonctionne réellement en production contrairement à l'autre code ici.
Cela fonctionne également avec des éléments fixes positionnés assez bien pour que vous puissiez « dock »
$.fn.draggable = function(){
var $this = this,
ns = 'draggable_'+(Math.random()+'').replace('.',''),
mm = 'mousemove.'+ns,
mu = 'mouseup.'+ns,
$w = $(window),
isFixed = ($this.css('position') === 'fixed'),
adjX = 0, adjY = 0;
$this.mousedown(function(ev){
var pos = $this.offset();
if (isFixed) {
adjX = $w.scrollLeft(); adjY = $w.scrollTop();
}
var ox = (ev.pageX - pos.left), oy = (ev.pageY - pos.top);
$this.data(ns,{ x : ox, y: oy });
$w.on(mm, function(ev){
ev.preventDefault();
ev.stopPropagation();
if (isFixed) {
adjX = $w.scrollLeft(); adjY = $w.scrollTop();
}
var offset = $this.data(ns);
$this.css({left: ev.pageX - adjX - offset.x, top: ev.pageY - adjY - offset.y});
});
$w.on(mu, function(){
$w.off(mm + ' ' + mu).removeData(ns);
});
});
return this;
};
Mais cela suppose absolu ou fixe est appliquée à l'élément déjà.
Utilisez-le comme suit:
$('#something').draggable();
Je ne recommande pas d'utiliser ce FYI. Regardez MDN sur draggable et utilisez le navigateur natif. –
fonctionne très bien pour moi! – foreyez
- 1. comment faire un élément « div » glisser sur iphone
- 2. Comment faire glisser un élément graphique avec google-closure?
- 3. Comment glisser et faire défiler dans un div avec jQuery
- 4. jQuery UI Sortable: Comment désactiver un connectSortable, mais être en mesure de faire glisser un élément
- 5. Faire glisser et fondre jquery
- 6. Comment faire glisser et déposer plusieurs éléments avec jQuery Glisser-Déposer (avec jQuery 1.4.x)
- 7. souris Trigger Faire glisser dans jQuery UI
- 8. impossible de faire glisser jquery
- 9. comment faire glisser un élément d'un div et le déposer dans un autre div dans le même document avec jquery
- 10. faire glisser et déposer jquery
- 11. Est-il possible de faire glisser un élément HTML hors d'un autre élément et de déclencher une modification avec jQuery?
- 12. jQuery glisser-déposer et faire glisser à nouveau
- 13. Comment faire un événement jQuery click affecte uniquement un élément imbriqué dans le même élément parent
- 14. JQuery - faire un élément aller "floue"
- 15. Comment faire glisser un élément avec la fenêtre pendant le défilement?
- 16. Comment faire glisser NSStatusItems
- 17. Code jQuery pour faire glisser div (accordéon)
- 18. Comment faire glisser un UIView décélérant?
- 19. Jquery ajouter un clic pour faire glisser le panneau?
- 20. Jquery - Faire glisser tous les autres menus
- 21. Comment déplacer un élément HTML dans jQuery?
- 22. Comment faire glisser div dans les cases
- 23. jquery draggable a un problème à faire glisser?
- 24. jquery: faire simultanément glisser et faire pivoter une image
- 25. Comment faire glisser TextView dans l'iphone?
- 26. Comment faire glisser deux DIVs?
- 27. Comment faire glisser un élément à partir d'un Iframe et déposer sur le parent
- 28. comment faire glisser l'image dans un cadre wxpython
- 29. Comment sélectionner un seul élément dans jQuery?
- 30. glisser-déposer dans jquery
jQueryUI n'a pas eu son backend correctement mis à jour au cours des années, et a souvent des problèmes en cours d'exécution proprement le long du côté autre developement application. La raison en est que la dernière version de jqueryUI nécessite jquery v1.7.x où jquery est lui-même sur v3.2.1 au moment de ce commentaire. – Nosajimiki