Witajcie
Proszę o pomoc, możecie mi powiedzieć co mam nie tak w poniższym kodzie.
Przy każdym divie pokazują się strzałki.
Jak kliknę raz, przeskakuje div w dół, jak kliknę drugi raz tak jakby skrypt leciał dwa razy.... i tak potem 3,4,5,6,
$(document).ready(function(){
var petID='';
var itemlist = $('#familiar_items');
var len=$(itemlist).children().length;
$("#familiar_items div").click(function(){
selected= $(this).index();
petID= $(this).attr("id");
$("#familiar_items div").css('border-color', 'lightskyblue');
$(this).css('border-color', 'lightgreen');
console.log($(this).index());
$("#up_" + petID).click(function(e){
e.preventDefault();
if(selected > 0){
jQuery($(itemlist).children().eq(selected-1)).before(jQuery($(itemlist).children().eq(selected)));
// selected=selected-1;
selected= $("#familiar_items").index();
console.log(itemlist.children());
}
e.preventDefault();
});
$("#down_" + petID).click(function(e){
e.preventDefault();
if(selected < len) {
jQuery($(itemlist).children().eq(selected+1)).after(jQuery($(itemlist).children().eq(selected)));
// selected=selected+1;
selected= $("#familiar_items").index();
console.log(itemlist.children());
}
});
});
});
Po stronie PHP kod wygląda tak
foreach ($acc_settings_file_json->$familiarData as $item) {
if ($item->petUnlocked == true) {
$pet_Id = $item->petId;
echo "<div class=\"familiars\" id=\"" . $pet_Id . "\">"; echo "<div class=\"familiarsdiv2\">"; // obrazek
echo "<div class=\"familiarsdiv3\">"; echo "<a id=\"up_" . $pet_Id . "\"><i class=\"fas fa-arrow-up\" style=\"color:darkgreen\"></i></a><br>"; echo "<a id=\"down_" . $pet_Id . "\"><i class=\"fas fa-arrow-down\" style=\"color:darkgreen\"></i></a>"; echo "<div class=\"familiarsdiv4\">";
// echo $pet_Id;
echo $familiars[$pet_Id]; // echo $familiars_data, " - ", $familiars;
}
}