Я пытаюсь центрировать изображение (объект перетаскивания) внутри div (объект drop) после его удаления, но по какой-то причине я не могу заставить его работать независимо от того, что я делаю. Я пробовал использовать различные фрагменты кода из предыдущих сообщений SO, но ни один из них не работает.
У меня есть сценарии jQuery и jQuery UI в верхней части страницы, а приведенный ниже Javascript также находится в верхней части страницы.
Изменение: я использую AngularJS для перетаскивания.
Текущий код, который я использую, приведен ниже.
HTML
ДРЕНАЖНЫЙ ОБЪЕКТ
<div class="drop-box" jqyoui-droppable data-drop="true" data-jqyoui-options="{revert: 'invalid'}">
</div>
<div class="drop-box" jqyoui-droppable data-drop="true" data-jqyoui-options="{revert: 'invalid'}">
</div>
УДАЛЕННЫЙ ОБЪЕКТ
<div class="merch-item">
<div class="merch-item-outer">
<div class="merch-item-inner" jqyoui-droppable data-drop="true" data-drag="false" data-jqyoui-options="{revert: 'invalid'}">
<img src="/assets/banner.jpg" data-drag="true" data-jqyoui-options="{revert: 'invalid'}" jqyoui-draggable="{animate:true}">
</div>
</div>
</div>
Javascript
''$(document).ready(function () {
$(".merch-item img").draggable({
snap: ".dropbox",
snapMode: "inner"
}).mousedown(function () {
var targets = $(".dropbox .test");
targets.height(this.offsetHeight);
targets.width(this.offsetWidth);
targets.each(function () {
$(this).position({ of: this.parentNode });
});
});
});''
CSS
.merch-item-outer {
padding: 10%;
background-color: #f4f4f4;
}
.merch-item-inner {
position: relative;
z-index: 5;
}
.merch-item-inner img {
width: 100%;
}
.merch-item-inner img:hover {
background-color: #cccccc;
}
.drop-box {
background-color: #f4f4f4;
min-height: 250px;
min-width: 250px;
}
Я думаю, это то, о чем вы просите. Я сделал это как один .drop-box
с черным фоном, чтобы видеть, что на .mouseleave
центрирует изображение внутри него, скрипку по адресу: http://jsfiddle.net/wfCw2/1/
Кроме того, ваш javascript ссылался на .dropbox
когда он должен был быть .drop-box