Показать сообщение отдельно
  #3 (permalink)  
Старый 24.04.2025, 00:13
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,598

Таймаут это кривой костыль, есть событие transitionend. T.e. что-то типа:
var bodyChat = document.querySelector('.form-body');
$('.float-chat').on('click', function (e) {
  bodyChat.classList.toggle('show');
  $(bodyChat).one('transitionend', function() {
    if (icms.chat.elementIsVis('.icms-footer__middle')) {
      if (float_chat.style.color != "") {
        float_chat.style = ""
      } else {
        float_chat.style.backgroundColor = '#ecccbd';
        float_chat.style.color = '#1c223e';
      }
    }
  })
});

Только не надо мешать ванилу с jquery, пишите в одном стиле, в вание:
const bodyChat = document.querySelector('.form-body');
const floatChat = document.querySelector('.float-chat');

floatChat.addEventListener('click', () => {
  bodyChat.classList.toggle('show');
  bodyChat.addEventListener('transitionend', () => {
    if (icms.chat.elementIsVis('.icms-footer__middle')) {
      if (floatChat.style.color !== "") {
        floatChat.removeAttribute('style');
      } else {
        floatChat.style.backgroundColor = '#ecccbd';
        floatChat.style.color = '#1c223e';
      }
    }
  }, { once: true });
});
или в jquery
var $bodyChat = $('.form-body');
var $floatChat = $('.float-chat');

$floatChat.on('click', function () {
  $bodyChat.toggleClass('show');
  $bodyChat.one('transitionend', function () {
    if (icms.chat.elementIsVis('.icms-footer__middle')) {
      if ($floatChat.css('color') !== '') {
        $floatChat.removeAttr('style');
      } else {
        $floatChat.css({
          backgroundColor: '#ecccbd',
          color: '#1c223e'
        });
      }
    }
  });
});
__________________
29375, 35
Ответить с цитированием