javascript - jQuery - 背景图像的视差效果

标签 javascript jquery html css

好的,我有一个 div 类,充当我网站上的“部分”。我用以下 css 为其指定了背景图像:

.section-one {
    width: 100vw;
    height: 100vh;
    background-image: url(images/outside-shot-edited.png);
    background-position: center;
    background-size: cover;
}

并希望对其应用视差效果,以便当用户滚动时,图像滚动但速度较慢。

是否可以使用 jQuery 对使用 background-image 的 div 执行此操作?

我不想要任何太复杂的东西,只想为网站添加一些动态运动。

欢迎任何建议,我已经尝试了以下方法,但没有成功...

function parallax(){
    var scrolled = $(window).scrollTop();
    $('.section-one').css('top', -(scrolled * 0.5) + 'px');
}



$(window).scroll(function(e){
    parallax();
});

最佳答案

尝试使用translate属性

function parallax(){
var scrolled = $(window).scrollTop();
$('.section-one').css({'transform':'translate(0px,'+scrolled /2+'%'});
}



$(window).scroll(function(e){
    parallax();
});

只需将滚动的/2 数字更改为适合您需要的任何数字

关于javascript - jQuery - 背景图像的视差效果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32653667/

相关文章:

javascript - Jenkins/SonarQube 单元测试 JavaScript 代码覆盖率

javascript - 如何使用 React Router 正确重定向?

javascript - React Router HashRouter 插入一个 ?网址中的 # 之前

php - CSS 如何让 <p> 标签在响应式网站的图像中保持其中心?

javascript - 有没有一种简单的方法来设置滚动条的样式

javascript - knockout 中带有图标的下拉菜单

javascript - DirectionsRendererOptions Google map API 的压制标记和可拖动

jquery ajax项目重新加载后无法点击

javascript - 如何使用 getJSON 从文件中获取 JSON 数组?

javascript - 可拖动图库 - 超出视口(viewport)问题