gpt4 book ai didi

jquery - CSS3 动画 - 如何为滚动上的不同元素制作不同的动画

转载 作者:行者123 更新时间:2023-11-28 13:16:28 25 4
gpt4 key购买 nike

我有一个关于在滚动上做 CSS3 动画的问题..

我找到了一段代码,它在用户向下滚动后显示 DIV 元素:

    <script type="text/javascript">

$(document).ready(function() {

/* Every time the window is scrolled ... */
$(window).scroll( function(){

/* Check the location of each desired element */
$('.hideme').each( function(i){

var bottom_of_object = $(this).position().top + $(this).outerHeight();
var bottom_of_window = $(window).scrollTop() + $(window).height();

/* If the object is completely visible in the window, fade it it */
if( bottom_of_window > bottom_of_object ){

$(this).animate({'opacity':'1'},500);

}

});

});

});

</script>

我正在构建一个站点,其中将包含大约 5 个不同的框,当用户向下滚动到每个框时将显示哪个框。但我的问题是,我如何在这些盒子里制作动画。

例子:每个盒子里都有标题、内容和图片。我如何让所有元素依次出现,因为使用此代码,所有类元素都会同时显示。但我希望如果用户向下滚动,首先出现标题,然后是内容,最后是图像。

然后当用户滚动到下一个框时,相同的过程会重复。

我使用了一些 CSS3 延迟,但在这种情况下,我不知道用户需要多长时间才能向下滚动。

谢谢!

最佳答案

简单。您首先必须确保标题、图像和内容都在它们自己的 div 中。然后您将执行相同的过程,但使用各个 div 的 y 位置和高度。 Here is a jsFiddle

$(document).ready(function () {
$(window).scroll(function () {
var bottom_of_window = $(window).scrollTop() + $(window).height();
$('.title').each(function (i) {
var bottom_of_object = $(this).offset().top + $(this).outerHeight();
if (bottom_of_window > bottom_of_object) {
$(this).animate({
'opacity': '1'
}, 500);
}
});
$('.innerImage').each(function (i) {
var bottom_of_object = $(this).offset().top + $(this).outerHeight();
if (bottom_of_window > bottom_of_object) {
$(this).animate({
'opacity': '1'
}, 500);
}
});
$('.content').each(function (i) {
var bottom_of_object = $(this).offset().top + $(this).outerHeight();
if (bottom_of_window > bottom_of_object) {
$(this).animate({
'opacity': '1'
}, 500);
}
});
});
});

关于jquery - CSS3 动画 - 如何为滚动上的不同元素制作不同的动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17384066/

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