У меня есть перетаскиваемая страница в PHP, которая работает с JS, на этой странице нужно организовать +700 ли, а страница очень медленная. При нажатии кнопки для изменения порядка и при перетаскивании li после 2 se c li перемещается.
Эта страница загружается в 2se c (это нормально), я использую ленивую загрузку в img, и HTML файл имеет менее 100 строк с 1 CSS и это JS.
Мой Javascript код:
//Get category and subcategory and create <select> filter.
$("#filter_categoria").on("change", function() {
var value = $(this).val();
$.ajax({
url: "produtos/get_sub",
type: "post",
data: {
"value": value
},
success: function(data) {
$("#filter_subcategoria").html(data);
},
});
});
// Reorder button, and drag and drop
$(document).ready(function() {
$('.reorder_link').on('click', function() {
$("ul.reorder-photos-list").sortable({
tolerance: 'pointer'
});
$('.reorder_link').html('Salvar');
$('.reorder_link').attr("id", "saveReorder");
$('#reorderHelper').slideDown('slow');
$('.image_link').attr("href", "javascript:void(0);");
$('.image_link').css("cursor", "move");
$("#saveReorder").click(function(e) {
if (!$("#saveReorder i").length) {
$(this).html('').prepend('<img src="../imagens/refresh-animated.gif"/>');
$("ul.reorder-photos-list").sortable('destroy');
$("#reorderHelper").html("Reorganizando produtos, aguarde um instante.").removeClass('light_box').addClass('notice notice_error');
var h = [];
$("ul.reorder-photos-list li").each(function() {
h.push($(this).attr('id').substr(9));
});
$.ajax({
type: "POST",
url: "produtos/orderUpdateSub",
data: {
ids: " " + h + ""
},
success: function() {
window.location.reload();
}
});
return false;
}
e.preventDefault();
});
});
});
//Here hide the unfiltred li's
$('#filter_subcategoria').change(function() {
var value = $(this).val();
$(".reorder_ul").find("li").hide()
$.each($(".reorder_ul").find("li"), function(n, liData) {
var liData = $(this).attr('data-filtertext');
var articleValues = liData.split(" ");
var article = $(this);
$.each(articleValues, function(nn, actualValue) {
if (actualValue == value) {
article.show();
}
});
});
});