Я хочу сохранить начальное местоположение набора «перетаскиваемых» изображений в качестве атрибутов данных на изображении. Затем, когда нажата кнопка «putBack», изображения возвращаются к месту их происхождения. Проблема в том, что изображения возвращаются в относительное положение. Вместо Top & Влево, они расположены на 2XTop и 2XLeft.jquery animate position - absolute vs relative
// assign data attributes x,y data attributes
$('li img').each(function(index) {
$(this).data("Left", $(this).parent().position().left)
.data("Top", $(this).parent().position().top);
console.log($(this).data("Top"));
});
// button to put images back where they started
$("#putBack").bind('click', function() {
$('li img').each(function(index) {
console.log($(this).data("Top"));
$(this).parent().animate(
{ "left": $(this).data("Left"),
"top": $(this).data("Top")
}, "slow");
});
});
HTML ...
<ul>
<li id='apple'><img src="images/apple.png"/></li>
<li id='bread'><img src="images/bread.png"/></li>
<li id='banana'><img src="images/banana.png"/></li>
<li id='hot_dog'><img src="images/hot_dog.png"/></li>
<ul>
CSS ...
ul{
width:100px;
padding:0px;
list-style:none;
font-size:20px;
}
Вы можете добавить свой HTML также? –