gpt4 book ai didi

javascript - 时间轴在进入视口(viewport)时更改 css

转载 作者:行者123 更新时间:2023-11-28 06:09:54 24 4
gpt4 key购买 nike

我正在尝试像在 this site 上那样更改滚动时间轴的背景颜色.我对样本的复制是development site .看看 codepen我尝试使用。我最接近复制它的是使用下面的代码,它使每个时间轴圆圈上的颜色变化在滚动时闪烁开/关。

jQuery(document).ready(function($) {
function onScroll() {
$('.cd-timeline-block').each( function() {
if( $(this).offset().top <= $(window).scrollTop()+$(window).height()*0.05 && $(this).find('.cd-timeline-img').hasClass('cd-inactive') ) {
$(this).find('.cd-timeline-img').removeClass('cd-inactive').addClass('cd-active');
$(this).find('.cd-date').addClass('cd-ssf-color');
} else {
$(this).find('.cd-timeline-img').addClass('cd-inactive').removeClass('cd-active');
$(this).find('.cd-date').removeClass('cd-ssf-color');
}
});
};

$(window).scroll(onScroll);
});

最佳答案

我对上面的代码做了一些修改。

代码笔链接: http://codepen.io/anon/pen/KzqWVm

Javascript:

jQuery(document).ready(function($) {
var $timeline_block = $('.cd-timeline-block');
var firstelm = $timeline_block.first();

//on scolling, show/animate timeline blocks when enter the viewport
$(window).on('scroll', function() {
var _win = $(window), iselm = null;
$timeline_block.each(function(index) {
var _this = $(this);
if (((_this.offset().top - _win.height())) <= (_win.scrollTop())) {
iselm = _this;
}

});
if (_win.scrollTop() < $(firstelm).offset().top) {
iselm = $(firstelm);
}

if (iselm) {
$('.cd-active').removeClass('cd-active').addClass('cd-inactive');
iselm.find('.cd-timeline-img').removeClass('cd-inactive').addClass('cd-active');

if ((iselm.offset().top - _win.height()) > (_win.scrollTop() * 0.75)) {
$('.cd-date').removeClass('cd-ssf-color');
}
iselm.find('.cd-date').addClass('cd-ssf-color');
}
});
});

继续滚动每个循环可能无法正常工作。

关于javascript - 时间轴在进入视口(viewport)时更改 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36233467/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com