У меня есть сайт, который использует плагин языкового переводчика для Wordpress. На этом сайте у меня есть изображение «значка сертификации» с английским sh на изображении, но у меня также есть версия на испанском языке sh. Я пытаюсь заставить скрыть версию Engli sh, а версию Spani sh - показывать при изменении атрибута lang HTML, и большая часть работы завершена и работает, только она работает в обратном направлении . Все начинается нормально, но когда я меняю язык сайта на испанский sh, значки не меняются. Затем, когда я снова переключаюсь на английский sh, значки меняются на испанскую sh версию ... Что мне не хватает? Первый блок кода предназначен для начальной загрузки страницы, а второй ищет событие изменения из плагина.
// Change PPE Badges based on language
if (jQuery("html").attr("lang").toLowerCase() === 'es' || jQuery("html").attr("lang").toLowerCase() === 'es-mx') {
jQuery('.badgeSpanish').show();
jQuery('.badgeEnglish').hide();
console.log('Language: Spanish');
} else {
jQuery('.badgeSpanish').hide();
console.log('Language: English');
}
jQuery(document).on('change', 'html', function() {
if (jQuery("html").attr("lang").toLowerCase() === 'es' || jQuery("html").attr("lang").toLowerCase() === 'es-mx') {
console.log('Language: Spanish');
jQuery('.badgeSpanish').show();
jQuery('.badgeEnglish').hide();
} else if (jQuery("html").attr("lang").toLowerCase() === 'en' || jQuery("html").attr("lang").toLowerCase() === 'en-us' || jQuery("html").attr("lang").toLowerCase() === 'auto') {
console.log('Language: English');
jQuery('.badgeEnglish').show();
jQuery('.badgeSpanish').hide();
}
});
Вот пример сайта для демонстрации: http://harsini.staging.wpengine.com/