Не работает скрипт после подгрузки ajax

Илья3 года в сервисе
Данные заказчика будут вам доступны после подачи заявки
20.03.2022

После того, как опубликовать сообщение, кнопка становится неактивной и на ней отображается таймер, но после того как происходит ajax подгрузка, кнопка становится кликабельной, класс disabled пропадает. Опубликовать всё равно ничего не получается, таймер отображается правильно. Проблема только в том, что на кнопку можно нажать, ну и цвет кнопки соответственно меняется, на disabled она серая. Скрипт:

String.prototype.toHHMMSS = function () { var sec_num = parseInt(this, 10); // don't forget the second param

var hours = Math.floor(sec_num / 3600);

var minutes = Math.floor((sec_num - (hours * 3600)) / 60);

var seconds = sec_num - (hours * 3600) - (minutes * 60);

if (hours

if (minutes

if (seconds

return hours+':'+minutes+':'+seconds;

}

var msg_btn_interval, msg_btn_text;

function msg_display_time(msg_time) {

jQuery('.message-btn.button-active a').addClass('disabled');

msg_btn_interval = window.setInterval(function(){

msg_time = msg_time - 1;

var time = '' + msg_time;

jQuery('.message-btn.button-active a').text(time.toHHMMSS());

if(msg_time

window.clearInterval(msg_btn_interval);

jQuery('.message-btn.button-active a').text(msg_btn_text).removeClass('disabled');

}

}, 1000);

}

jQuery(document).ready(function(){

msg_btn_text = jQuery('.message-btn.button-active a').text();

if($_msg_time_d > 0){

msg_display_time($_msg_time_d);

}

});

{$lng->post}

Пробовал вот так, и всё получилось, вот только теперь таймер скачет. Должно быть так 0:45-0:44:-0:43-0:42 и так далее, а получается вот так 0:45-0:58:-0:43-0:51.... Скорее всего, я что-то делаю неправильно с loaded().

function loaded() {

function msg_display_time(msg_time) {

jQuery('.message-btn.button-active a').addClass('disabled');

msg_btn_interval = window.setInterval(function(){

msg_time = msg_time - 1;

var time = '' + msg_time;

jQuery('.message-btn.button-active a').text(time.toHHMMSS());

if(msg_time

window.clearInterval(msg_btn_interval);

jQuery('.message-btn.button-active a').text(msg_btn_text).removeClass('disabled');

}

}, 1000);

}

jQuery(document).ready(function(){

msg_btn_text = jQuery('.message-btn.button-active a').text();

if($_msg_time_d > 0){

msg_display_time($_msg_time_d);

}

});

}

{$lng->post}

Заявки фрилансеров