gpt4 book ai didi

jquery - 如何在屏幕上可见的 div 中应用视差滚动

转载 作者:行者123 更新时间:2023-12-01 08:33:06 25 4
gpt4 key购买 nike

我有多个 div,里面有图像。我想将视差应用到 div 内的图像。但是,如果我将视差滚动设置为图像,则屏幕底部的图像会在 div 内形成一个空白,因为图像会向上滚动。

这是我到目前为止的代码。

HTML

  <div class="workImg">
<img class="inWorkImg" src="img/08.png"/>
</div>

<div class="workImg">
<img class="inWorkImg" src="img/09.png"/>
</div>

<div class="workImg">
<img class="inWorkImg" src="img/10.png"/>
</div>

<div class="workImg">
<img class="inWorkImg" src="img/11.png"/>
</div>

CSS

.workImg{
position: absolute;
width: 80%;
height: 230px;
bottom: 15px;
overflow: hidden;
}

.inWorkImg {
object-fit: cover;
height: 110%;
}

JQUERY

var parallaxElements = $('.inWorkImg'),
parallaxQuantity = parallaxElements.length;
var visible = isInViewport(this)


$(window).on('scroll', function () {

if(visible) {

window.requestAnimationFrame(function () {

for (var i = 0; i < parallaxQuantity; i++) {
var currentElement = parallaxElements.eq(i);
var scrolled = $(window).scrollTop();

currentElement.css({
'transform': 'translate3d(0,' + scrolled * -0.06 + 'px, 0)'
});

}

});
}

});

最佳答案

实际上你不必使用 jQuery,而是使用像这样的纯 css -

这些 div 将获得一个 background-image 属性,而不是 img 标签。

 <div class="workImg1"></div>
<div class="workImg2"></div>
<div class="workImg3"></div>
<div class="workImg4"></div>

CSS 看起来就像这样 -

.workImg1, .workImg2, .workImg3, .workImg4 {
/* Set a specific height */
min-height: 500px;

/* Create the parallax scrolling effect */
background-attachment: fixed;
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.workImg1 {
/* The image used */
background-image: url("IMG_URL");
}
.workImg2 {
/* The image used */
background-image: url("IMG_URL");
}
.workImg3 {
/* The image used */
background-image: url("IMG_URL");
}
.workImg4 {
/* The image used */
background-image: url("IMG_URL");
}

关于jquery - 如何在屏幕上可见的 div 中应用视差滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59989118/

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