You don't need a infinite loop for this. What you need is to make the canvas droppable
. Remove the dragstop
function and add your code in the droppable function as:
$('#canvas').droppable({
accept:'.icons', //remove this if you want to append manually
drop:function(event,ui){
//Code for appending manually if you don't use accept
}
});
For the series of icons make it draggable as clone so that you can drag 'n' no. of same icon onto canvas:
$('.icons').draggable({helper: "clone"});
For more info on droppable UI refer API DOC.