jQuery, setTimeout после изменения текста кнопки - PullRequest
0 голосов
/ 27 апреля 2018

Мне удалось изменить текст на кнопке Add to bag на ADDED после щелчка. Он прекрасно работает со следующим кодом jQuery, но мне интересно:

Как я могу вернуть текст ADDED обратно к исходному тексту Add to bag через 5 секунд.

Я что-то упускаю при использовании setTimeout? Или, может быть, это совсем не тот подход?

jQuery( document ).ajaxComplete(function() {
  jQuery("a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added" ).text("ADDED");
}); 

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

То, что вам нужно добавить, это setTimeout(function,x), это будет ждать x количество времени перед выполнением функции.

В этом случае мы можем использовать 5000 в течение 5 секунд и функцию jQuery("a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added" ).text("Add to bag");, чтобы вернуть текст обратно.

jQuery( document ).ajaxComplete(function() {
  jQuery("a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added" ).text("ADDED");
  setTimeout(function(){ jQuery("a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added" ).text("Add to bag");}, 5000)
}); 

Надеюсь, это поможет:)

0 голосов
/ 27 апреля 2018

Используйте метод setTimeout .

jQuery( document ).ajaxComplete(function() {
    var element = jQuery("a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart.added");
    element.text("ADDED");
    setTimeout(function() {
        element.text("Add to bag");
    }, 5 * 1000);
});

Через 5 секунд он вызовет код внутри самого внутреннего блока function() и изменит текст на «Добавить в пакет».

...