jquery d&d na klase

0

Zrobiłem taką funkcje d&d

DnD = function(obj)
{
	/************************* FUNCTION START DRAG **************************/
	$('#'+obj.drag).mousedown(function ()
	{
		core.onDrag = true;
		$('#'+obj.drag).css({'position':'absolute', 'z-index':400});
		/************************ FUNCTION MOVE *************************/
		$(document).mousemove(function (e)
		{
			if(core.onDrag)
			{
				$('#'+obj.drag).css({'top':e.pageY + 'px', 'left':e.pageX + 'px'});
			}
		});
		/************************ FUNCTION DROP *************************/
		$(document).mouseup(function (e)
		{
			if(core.onDrag)
			{
				var drop = $('#'+obj.drop).offset();
				var drop_width = $('#'+obj.drop).width();
				var drop_height = $('#'+obj.drop).height();
				if(e.pageX >= drop.left && e.pageX <= drop.left + drop_width && e.pageY >= drop.top && e.pageY <= drop.top + drop_height)
				{
					var drag_width = $('#'+obj.drag).width();
					var drag_height = $('#'+obj.drag).height();
					$('#'+obj.drag).css({'top':drop.top+((drop_height/2)-(drag_height/2)), 'left':drop.top+((drop_width/2)-(drag_width/2))});
					obj.onSuccess(obj.drag);
				}
				else
				{
					$('#'+obj.drag).css({'position':'relative', 'top':'0px', 'left':'0px'});
				}
				core.onDrag = false;
			}
		});
	});
};

Ale teraz potrzebuje zrobić nie na id elementu, ale na class i nie mam pojęcia jak to zrobić, jak sprawdzić czy element przeciągany znajduje się nad elementem o określonym atrybucie class i pobrać atrybut id tego elementu

0

Zamień $('#'+obj.drag) na $('.nazwaKlasy'), a w funkcji mousedown używaj $(this) zamiast $('#'+obj.drag)

0

źle mnie zrozumiałeś "czy element przeciągany znajduje się nad elementem o określonym atrybucie class" tzn obiekt drop ma być klasą

Może przejechać each'em przez wszystkie elementy o danej klasie i pobrać pozycje i id do tablicy, a potem pętlą for in sprawdzić czy element znajduje się nad jakimś dropem?

1 użytkowników online, w tym zalogowanych: 0, gości: 1