Witajcie
Proszę o pomoc
$(document).ready(function(){
var selected = null;
var petID='';
var itemlist = $('.familiars');
var len=$(itemlist).length;
$("#familiar_items .familiars").click(function(){
selected= $(this).index();
petID= $(this).attr("id");
$(".up").css("display", "none");
$(".down").css("display", "none");
$("#up_" + petID).css("display", "block");
$("#down_" + petID).css("display", "block");
$("#familiar_items .familiars").css('border-color', 'lightskyblue');
$(this).css('border-color', 'lightgreen');
$("#up_" + petID).click(function(e){
e.preventDefault();
if(selected > 0){
itemlist = $('#familiar_items');
jQuery($(itemlist).children().eq(selected-1)).before(jQuery($(itemlist).children().eq(selected)));
}
itemlist = $('.familiars');
});
$("#down_" + petID).click(function(e){
e.preventDefault();
if(selected < len) {
itemlist = $('#familiar_items');
jQuery($(itemlist).children().eq(selected+1)).after(jQuery($(itemlist).children().eq(selected)));
}
itemlist = $('.familiars');
});
});
});
W podanym kodzie działa on prawidłowo tylko wówczas gdy element nad elementem do przesunięcia w górę jest widoczny w całości na stronie, gdy zjadę niżej i tylko część elementu nad elementem przesuwanym jest widoczna, przesuwany element zmienia pozycję o dwa a nie o jedną pozycję w górę.
Co może być tego powodem?