@LebedevStr

Как завести участок кода jQuery?

Здравствуйте. Есть такой участок кода

jQuery(function() {
  jQuery(".fancybox").fancybox();
    jQuery('.speaker').text(jQuery('.speaker').data('text'));
    jQuery('.speaker').click( function () {
            var speakerText = jQuery(this).closest(".row").text();
            
            if(jQuery(this).data('lang') == 'RU') {
                var speakerLang = 'Russian Female';
            } else {
                var speakerLang = 'Polish Female';
            }

            if(jQuery("#resume").hasClass("speaker_play")) {
                responsiveVoice.resume();
                jQuery(".speaker_play").removeAttr("id");
                
            } else {
            responsiveVoice.speak(speakerText, speakerLang,  {rate: jQuery(this).data('rate')});
        };
            jQuery('.speaker_play').hide();
            jQuery('.speaker').show();
            jQuery(this).hide();
            jQuery('.speaker_play').text(jQuery('.speaker_play').data('text'));
            jQuery(this).closest(".speaker__inner").children('.speaker_play').show();
    });

    jQuery('.speaker_play').click( function () {
        responsiveVoice.pause();
        jQuery(this).hide();
        jQuery(this).closest(".speaker__inner").children('.speaker').show();
        jQuery('.speaker_play').attr('id', 'resume');
    });

});


Функция заключается в том, что бы по API отправить данные на аудио "говорилку", скрипт вполне себе рабочий без проверки в 13 строке

if(jQuery("#resume").hasClass("speaker_play"))

Но проверка мне нужна для того что бы не сбрасывать сброс спича, а возобновлять, если раннее был клик по кнопке Остановить (id="resume").

Помогите :)
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ответы на вопрос 1
@You2
1е - замена id обычно не самая лучшая практика. Гораздо лучше переделать под классы.
Если не считать это - добавьте промежуточный классы или атрибут, после клика добавляйте/убирайте его.
Например, после клика добавляете класс speaker_play_clicked / атрибут attr-speaker-clicked="1"
В итоге проверка будет:
if(jQuery("#resume").hasClass("speaker_play_clicked")) / if(jQuery("#resume").attr("attr-speaker-clicked")==1)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы