JQuery, ajax, js

У меня небольшая проблема, которую я не могу решить. Я хочу, чтобы при щелчке по элементу (этот элемент удаляет продукт из корзины) появлялся счетчик загрузки («remove-spinner»), который исчезал, когда функция ajax завершается. До сих пор я мог заставить переменную счетчика (spn) появляться с помощью fadeIn, но она не исчезает после того, как ajax удаляет элемент из корзины, она активируется для других элементов, находящихся в корзине. Огромное спасибо!

$(document).ready(function(){
carttotalamount();

$(document).on("click", ".removecartitem", function(){
    var $t = $(this);
    var rurl = $t.attr("data-remove-url");
    var delrowid = $t.attr("datarowid");
    var qty = $t.attr("dataitemqty");
    var spn = $(".remover-spinner");
    $.ajax({
        type: "POST",
        url: rurl,
        success: function(data) { 
            $('.'+delrowid).fadeOut(200, function(){
                spn.fadeIn(100)
                $('.'+delrowid).remove(spn); carttotalamount();
            }); 

        }
    });
});

для счетчика используйте события ajaxstart и ajaxstop, чтобы запустить счетчик

Lelio Faieta 26.09.2018 18:10

Спиннер в ряду? Поэтому выбирайте только тот, который находится в строке, а не все элементы

epascarello 26.09.2018 18:10

или вы можете использовать обратные вызовы до начала и завершения, чтобы добавить и удалить счетчик. Complete будет вызываться в обоих случаях, если он завершится успешно или если он не удастся

Juan 26.09.2018 18:11

Заголовок вашего вопроса не описывает вашу проблему.

Kevin B 26.09.2018 18:12
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
2
4
38
1

Ответы 1

Используйте beforeSend для fadeIn и remover-spinner. И удалите его, когда файл ajax success.

 beforeSend: function(){
            spn.fadeIn(100)
 },
 success: function(data) { 
            $('.'+delrowid).fadeOut(200, function(){
                spn.fadeOut(100)
                carttotalamount();
            }); 

        }

beforeSend Type: Function( jqXHR jqXHR, PlainObject settings ) A pre-request callback function that can be used to modify the jqXHR (in jQuery 1.4.x, XMLHTTPRequest) object before it is sent. Use this to set custom headers, etc. The jqXHR and settings objects are passed as arguments. This is an Ajax Event. Returning false in the beforeSend function will cancel the request. As of jQuery 1.5, the beforeSend option will be called regardless of the type of request.

http://api.jquery.com/jquery.ajax/

Привет! Благодарю. появляется и исчезает эффективно, но когда я нажимаю на элемент один, поворотный элемент управления активируется для всех элементов, но мне нужно, чтобы поворотный элемент был активирован только на элементе, который я нажимаю

Andres Matias 26.09.2018 19:30

Используйте $ (this) для доступа к выбранному ".removecartitem"

Roy Bogado 27.09.2018 09:09

Другие вопросы по теме