Tippyjs показывает содержимое HTML-файлов в течение короткого времени при загрузке страницы

#javascript #html #tippyjs

#javascript #HTML #tippyjs

Вопрос:

Я использую TippyJS для добавления некоторых всплывающих подсказок на свой веб-сайт. У них есть HTML-контент, который работает нормально, за исключением того, что при загрузке страницы вы можете на короткое время увидеть содержимое, прежде чем оно исчезнет. Как я могу это исправить? Мой сайт теперь перескакивает, потому что какой-то HTML-файл tippy находится в моей структуре меню.

У меня просто есть эти файлы в нижнем колонтитуле:

 <!-- Popper JS -->
<script src="assets/js/popper.min.js"></script>
<!-- Tippy JS -->
<script src="https://unpkg.com/tippy.js@6"></script>
 

Пример всплывающей подсказки, которая у меня есть:

 <span class="tooltippy_nostyle">
    <img class="infosvg" src="assets/images/custom/icon_info.svg">
    <div class="tooltipcontent darktext">
    Test
    </div>
</span>
 

И JS:

 $( ".tooltippy_nostyle" ).each(function( i ) {
    tippy(this, {
        trigger: 'click',
        allowHTML: true,
        animation: 'scale-subtle',
        interactive: true,
        content: function (reference) {
            return reference.querySelector('.tooltipcontent');
        }
    });
});
 

Не имеет значения, что это за содержимое, много html или просто 1 слово. Содержимое отображается первым, прежде чем код TippyJS удалит его и поместит во всплывающую подсказку. Что я могу сделать, чтобы это исправить? Я попытался переместить файлы из нижнего колонтитула в верхний колонтитул, но это ничего не изменило.

Комментарии:

1. Скройте их с помощью css перед инициализацией JS для всплывающих подсказок: .tooltippy_nostyle {display: none;}

2. @Andrey Я пробовал это, но это не работает. Только если я добавлю !important после него, но тогда всплывающая подсказка останется скрытой.

3. Попробуйте расположить их за пределами экрана, тогда инициализированный Tippy вступит во владение. Но, как правило, лучше всего предоставить воспроизводимую демонстрацию