JQuery UI Sortable'ı yakınlaştırmaya çalışıyorum. Sorun, fare sürüklediğiniz öğe ile aynı hızda hareket etmiyor. Bu çalışmayı Draggable ile nasıl alacağınıza dair birkaç örnek var. İşte Draggable öğeler için geçici çözüm bir örnektir:JqueryUI Nasıl Çalışır Zoomting/Ölçekle Çalışabilir - fare hareketleri
http://jsfiddle.net/TqUeS/660/
var zoom = $('#canvas').css('zoom');
var canvasHeight = $('#canvas').height();
var canvasWidth = $('#canvas').width();
$('.dragme').draggable({
drag: function(evt,ui)
{
// zoom fix
ui.position.top = Math.round(ui.position.top/zoom);
ui.position.left = Math.round(ui.position.left/zoom);
// don't let draggable to get outside of the canvas
if (ui.position.left < 0)
ui.position.left = 0;
if (ui.position.left + $(this).width() > canvasWidth)
ui.position.left = canvasWidth - $(this).width();
if (ui.position.top < 0)
ui.position.top = 0;
if (ui.position.top + $(this).height() > canvasHeight)
ui.position.top = canvasHeight - $(this).height();
}
});
Ben Drag olay bu sıralanabilir sürümünde sırala olayı ile değiştirilir beklenir, ancak gördüğünüz gibi Fiddle altında, işe yaramıyor. Sıralama etkinliğindeki ui.position öğesinin hiçbir etkisi yoktur - etkinleştikten sonra onu ayarlamak ve atmak gibi görünüyor. Herkes başka bir çözüm varsa
http://jsfiddle.net/TqUeS/658/
var zoom = $('#canvas').css('zoom');
var canvasHeight = $('#canvas').height();
var canvasWidth = $('#canvas').width();
$('#canvas').sortable({
items: "div",
sort: function(evt,ui)
{
// zoom fix
ui.position.top = Math.round(ui.position.top/zoom);
ui.position.left = Math.round(ui.position.left/zoom);
// don't let draggable to get outside of the canvas
if (ui.position.left < 0)
ui.position.left = 0;
if (ui.position.left + $(this).width() > canvasWidth)
ui.position.left = canvasWidth - $(this).width();
if (ui.position.top < 0)
ui.position.top = 0;
if (ui.position.top + $(this).height() > canvasHeight)
ui.position.top = canvasHeight - $(this).height();
}
});
, bunu duymak mutlu olurum.
Sürüklenebilir ile test ettiğimde, öğe her köşeye doğru iter. Bu beklenen etkinlik mi? Sortable iyi çalışıyor gibi görünüyor. Belki de bütün meseleyi göremiyorum. – Twisty
Burada test etme: http://jsfiddle.net/Twisty/4nv60ob9/ $ ("# canvas") yerine "css" ("zoom") '' '' '' 'yerine' 'NaN' yerine gerçek değerler alıyorum veya 'Infinity'. – Twisty
"" değeriyle bir String olarak okuyor. Bir düzeltme üzerinde çalışıyor. – Twisty