У меня есть 7 капель и 7 перетаскиваемых элементов. Я могу использовать один и тот же элемент для всех 7 droppots, или я могу использовать все перетаскиваемые элементы на той же droppot. Я имею переменную contor с приростом при падении, но, если я перетаскиваю все элементы на той же droppot, эта переменная достигает 7 и что-то происходит. Мне нужно, чтобы увеличить эту переменную только один раз за каплей, даже если я сброшу и измените src 7 раз в той же капельке. Мой код выглядит так:
drop: function( event, ui )
{
dropTarget = event.target.id;
indexDrops = dropTarget.charAt(dropTarget.length-1);
$("#dropspot" + indexDrops).css("opacity", 0);
$("#dropspot" + indexDrops).children("img").prop('src', dragTarget.src);
interval = setInterval(showDrop, 1);
$(ObjectsToHide[indexDrops]).css('visibility', 'visible');
contor++;
if(contor == 7){
resetBtn.disabled = false;
$(dragObjects).draggable("disable");
updateBubble(2);
};
}
Вам действительно нужно прочитать jquery API... так много неправильных вещей в вашем коде...
1 - Не выбирать группы с идентификатором:
ObjectsToHide.push(document.getElementById("toChange" + i));
вместо этого используйте класс для выбора нескольких элементов.
ObjectsToHide = $('.class');
2 - Не сохранять индекс:
indexDrags = dragObjects.indexOf(event.currentTarget);
вместо этого сохраните сам элемент в var, поэтому вам не придется его снова выбирать.
dragsEl = event.currentTarget;
3 - Не выполняйте повторяющиеся запросы:
$("#dropspot" + indexDrops).css("opacity", 0);
$("#dropspot" + indexDrops).children("img").prop('src', dragTarget.src);
вместо этого сохраните запрос в var, затем повторно используйте его или просто соедините.
var q = $("#dropspot" + indexDrops)
.css("opacity", 0).children("img")
.prop('src', dragTarget.src);
4 - Если вам нужен только один таймер работы, используйте setTimeout. Не используйте setInterval, если вы не хотите, чтобы операция выполнялась повторно.
5 - Вы должны ссылаться на свои библиотеки при создании скрипта. В вашем случае: jquery и jqueryUI.
6 - Вам нужна абсолютная ссылка на ваши изображения, иначе они не будут загружены:
src="images/clouds.svg"
вместо
src="http://your.site/images/clouds.svg"