Не уверен, что именно этого вы хотите достичь, но вот код. Если заголовок находится на расстоянии более 100 пикселей от верхней части окна (что не очень обычно, потому что в верхней части заголовка должно быть что-то) окна, то в заголовок добавляется новый класс.
$(function() {
var $header = $('#v0');
$(window).scroll(function () {
if ($header.offset().top - $(this).scrollTop() > 100) {
$header.addClass('blabla');
} else {
$header.removeClass('blabla');
}
});
});
ОБНОВЛЕНИЕ: В зависимости от ваших отзывов, это первое решение, которое пришло мне в голову. Я думаю, что такое поведение вам нужно. Надеюсь, что это работает для вас:
$(function() {
var $header = $('header');
var $video = $('#v0');
var $videoContainer = $('.videoContainer');
$(window).scroll(function () {
// Here we check if video field touches the header, and add 'fixed' class
if ((($header.offset().top + $header.height()) - $video.offset().top) >= 0) {
$video.addClass('fixed')
}
// Since both video and header is fixed now I needed some other
// element to check if we are again getting away from the header
// (scrolling up again) That's why I added the $videoContainer element
// to be able to remove the 'fixed' class.
if ($videoContainer.offset().top > ($header.offset().top + $header.height())) {
$video.removeClass('fixed');
}
});
});
Обновленный код: https://jsbin.com/foyoyus/6/edit?html,css,js,output