Задержка между Hide () и Show () в JQuery - PullRequest
0 голосов
/ 12 ноября 2019

У меня есть веб-сайт с видеохостингом, где у каждого видео есть миниатюра и 4-секундный предварительный просмотр видео при наведении миниатюры.

Код ниже работает нормально:

$('div.video-previews').hover(function () {
        //mousein
        var previewVideo=$(this).find('.preview-video');
        var previewImage=$(this).find('.preview-image');
        var url=previewVideo.data('previewurl');
        var poster=previewVideo.data('poster');
        previewVideo.html('<video id="asd" autoplay loop muted poster="'+poster+'" src="'+url+'"></video> ');
        previewImage.hide();
        previewVideo.show();
    }, function () {
        //mouseout
        var previewVideo=$(this).find('.preview-video');
        var previewImage=$(this).find('.preview-image');
        previewVideo.html('');
        previewVideo.hide();
        previewImage.show();
    });

Проблеманаходится здесь:

previewImage.hide();
previewVideo.show();

При наведении на миниатюру изображения оно скрывается, но остается пустым до воспроизведения видео для предварительного просмотра, так как для предварительного просмотра требуется некоторое время для загрузки.

Я попробовалприведенный ниже код, чтобы избавиться от задержки пробела, но он просто загрузит видео под миниатюрой:

previewImage.delay(1000).fadeOut('slow');
previewVideo.show();

Код должен ждать 1 секунду после наведения, чтобы у предварительного просмотра видео было достаточно времени для загрузки

Есть ли способ избавиться от этой задержки, которую я не вижу?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...