gpt4 book ai didi

javascript - CSS/JS 图片滑出动画

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

我正在尝试重新创建这样的效果:https://www.brontidebg.com/product屏幕顶部(左侧)的主图像在屏幕上显示出非常流畅的动画效果(与底部图像相同)。当您滚动到任一图像时,它们会以相同的方式动画化。

这是我想出的:

HTML

<div class="top">
<h1>scroll down<h1>
</div>

<div class="container">
<div class="block image-block slideright">
<figure>
<img src="https://i.guim.co.uk/img/media/11d4c182d094199e26ddb36febe67123a9bbc93a/34_246_2966_4275/master/2966.jpg?w=700&q=55&auto=format&usm=12&fit=max&s=4a5b5fe1d34627003607df532913292d">
</figure>
</div>

<div class="block text-block">
<h2> Some text </h2>
</div>
</div>

CSS

.top{
height:100vh;
}
h1{
text-align: center;
}

.block{
display: inline-block;
height: 100vh;
}

.image-block{

}

figure{
position: relative;
overflow: hidden;
height: 100vh;
width: 34vw;
text-align: center;
margin: 0;
}

image{
height: 100vh;
width: 34vw;
position: relative;
object-fit: cover;
}

.slideright{
transform: translateX(-34vw);
transition: all .8s ease-out;
}
.slideright.slideinright{
transform: translateX(0);
}

JS

 $(window).scroll(function() {

var winTop = $(window).scrollTop();

$(".slideright").each(function(){
var pos = $(this).offset().top;
if (pos < winTop + 600) {
$(this).addClass("slideinright");
}
});

$(".slideleft").each(function(){
var pos = $(this).offset().top;
if (pos < winTop + 600) {
$(this).addClass("slideinleft");
}
});

});

Codepen(全屏查看,因为我使用的是 vh):https://codepen.io/Caj/pen/GdZwYP

如您所见,图像会在您向其滚动时滑出,但它不像示例链接那样是流畅、专业的动画。如果您要向上滚动到顶部然后再向下滚动(让该功能重复运行,而不仅仅是第一次滚动到 View 内时),我也希望让图像滑出。提前致谢!

最佳答案

试试这个:

https://codepen.io/anon/pen/ZoWVxr

$(".slideright").each(function(){
var pos = $(this).offset().top;
if (winTop + 600 > pos) {
$(this).addClass("slideinright");
}
if(winTop === 0) {
$(this).removeClass('slideinright')
}
});

添加了不透明度,更改了速度并在滚动条位于顶部时添加了重置。我稍微改变了你的逻辑,这样它就不会立即开始动画,它只会在图像出现时才开始。您可以更改 winTop + 600 来控制它何时启动。添加更多以使其更早启动,添加更少以使其更晚启动。 winTop + 200 将在滚动的更下方开始动画。

关于javascript - CSS/JS 图片滑出动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50009723/

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