Изменить div / iframe на прокрутке? - PullRequest
0 голосов
/ 03 декабря 2018
.video-embed {
    position: relative;
    padding-bottom: 56.25%;
    padding-top: 0px;
    height: 0;
    margin-bottom: 20px;
}

.video-embed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
<div id="video-embeds">
    <div class="video-embed" style="">
        <iframe width="560" height="315" src="http://www.youtube.com/embed/pa4IxrIsr9g" frameborder="0" allow="autoplay; encrypted-media" allowfullscreen=""></iframe>
    </div>
</div>

Теперь, когда пользователь прокручивает видео, я бы хотел, чтобы <div id="video-embeds"> с iframe выскочил в правый угол с разными размерами для @media css и оставался там до тех пор, пока пользователь не вернется креальная позиция видео, чем видео снова выложится на странице ...

Как это сделать?С помощью CSS можно?

ОБНОВЛЕНИЕ: у меня есть css, который я хочу после прокрутки.

#video-embeds-fixed {
    opacity: 1;
    pointer-events: auto;
    display: block;
    width: 400px;
    height: 225px;
    transition-property: opacity, height;
    transition-duration: 366ms;
    transition-timing-function: cubic-bezier(0.05, 0, 0, 1);
    position: fixed;
    overflow: hidden;
    box-shadow: 0 2px 5px 0 rgba(0,0,0,0.16), 0 3px 6px 0 rgba(0,0,0,0.20);
    right: 12px;
    bottom: 10px;
}

.video-embed-fixed iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

Теперь javascript или jquery, которые изменяются при прокрутке # video-embeds на # video-embeds-fixed и.вставка видео в .video-embed-fixed?

1 Ответ

0 голосов
/ 03 декабря 2018

Только с помощью css это невозможно, вы должны использовать javascript.Но сначала измените ваш селектор фиксированного идентификатора CSS на класс (# video-embeds-fixed изменить на .video-embeds-fixed в вашем файле css).

Решение JQuery:

var video = $('#video-embeds');
var sticky = video.offset().top;
var videoHeight = video.height();
$(window).on('load scroll resize', function() {
    if ((window.pageYOffset) >= (sticky + videoHeight)) {
        video.addClass('video-embeds-fixed');
        video.children('.video-embed').addClass('video-embed-fixed');
    } else {
        video.removeClass('video-embeds-fixed');
        video.children('.video-embed').removeClass('video-embed-fixed');
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...