Je travaille actuellement sur une application Web de type drag-drop, sur laquelle les utilisateurs peuvent planifier une disposition de sélection.Élément d'arrêt se déplaçant sur le défilement de la souris à l'aide de la classe rotative
Une partie de la fonctionnalité est que les utilisateurs peuvent faire pivoter certains meubles sur la toile. Cependant, il semble que le fait de faire défiler le pointeur de la souris sur un élément rotatif fera également pivoter cet élément, ce qui pose des problèmes, surtout si l'utilisateur a parfaitement mis en forme et défile la page pour remplir un formulaire. disposition. L'application utilise la classe rotative de jQuery et implémente les classes draggable et droppable.
Ceci est mon javascript:
$(function() {
//Make every clone image unique.
var counts = [0];
var resizeOpts = {
handles: "all",
autoHide: true
};
var nw = $("<div>", {
class: "ui-rotatable-handle"
});
var ne = nw.clone();
var se = nw.clone();
$('.box div.ui-rotatable-handle').addClass("ui-rotatable-handle-sw");
nw.addClass("ui-rotatable-handle-nw");
ne.addClass("ui-rotatable-handle-ne");
se.addClass("ui-rotatable-handle-se");
$(".dragImg").draggable({
helper: "clone",
//Create counter
start: function() {
counts[0]++;
}
});
$("#dropHere").droppable({
drop: function(e, ui) {
if (ui.draggable.hasClass("dragImg")) {
$(this).append($(ui.helper).clone());
//Pointing to the dragImg class in dropHere and add new class.
$("#dropHere .dragImg").addClass("item-" + counts[0]);
$("#dropHere .img").addClass("imgSize-" + counts[0]);
//Remove the current class (ui-draggable and dragImg)
$("#dropHere .item-" + counts[0]).removeClass("dragImg ui-draggable ui-draggable-dragging").addClass('rotatable');
$('.rotatable').resizable().rotatable();
//$(".rotatable").append(nw, ne, se);
$(".small-table div[class*='ui-rotatable-handle-']").bind("mousedown", function(e) {
$('.rotatable').resizable().rotatable();
$('.rotatable').rotatable("instance").startRotate(e);
});
$(".item-" + counts[0]).dblclick(function() {
$(this).remove();
});
make_draggable($(".item-" + counts[0]));
$(".imgSize-" + counts[0]).resizable(resizeOpts);
}
}
});
var zIndex = 0;
function make_draggable(elements) {
elements.draggable({
containment: 'parent',
start: function(e, ui) {
ui.helper.css('z-index', ++zIndex);
},
stop: function(e, ui) {}
});
}
});
Comme vous pouvez le voir, chaque élément qui est déplacé est cloné une fois qu'il est tombé sur la zone de saut (#dropHere
div) et reste alors là-bas à moins qu'elle soit double-cliqué. Je veux savoir, est-il possible d'arrêter la rotation de l'élément si l'utilisateur fait défiler la souris dessus?
EDIT: Voici une FIDDLE de l'application:
pourrait vous créer un violon ou d'afficher le code html –
J'ai ajouté un lien vers le violon js –
grand, Intersting, voir ma réponse :) –