Javascript 视差位于垂直和绝对位置的Div中心

Javascript 视差位于垂直和绝对位置的Div中心,javascript,jquery,css,html,Javascript,Jquery,Css,Html,在一个项目中,我有一个div,它占据了窗口的100%高度和100%宽度,这多亏了我用jQuery编写的脚本,还调用了windowresize 在这个部分中,我还有一个包含标题3和段落的部分。该div垂直居中,在该100%父div中水平居中 现在,我想在子div上添加一个视差效果。我的意思是,我希望在滚动上,div的移动速度比其父div慢。我该如何实现这一点?我试着自己写,但没用 我的尝试: var lastScrollTop = 0; $(window).scroll(function(eve

在一个项目中,我有一个div,它占据了窗口的100%高度和100%宽度,这多亏了我用jQuery编写的脚本,还调用了windowresize

在这个部分中,我还有一个包含标题3和段落的部分。该div垂直居中,在该100%父div中水平居中

现在,我想在子div上添加一个视差效果。我的意思是,我希望在滚动上,div的移动速度比其父div慢。我该如何实现这一点?我试着自己写,但没用

我的尝试:

var lastScrollTop = 0;

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

function parallax() {
  var ev = {
      scrollTop: document.body.scrollTop || document.documentElement.scrollTop
  };
  ev.ratioScrolled = ev.scrollTop / (document.body.scrollHeight - document.documentElement.clientHeight);
  render(ev);
}

function render(ev) {
    var t = ev.scrollTop;
    var obj = $('.topBonjour .wrapper');
    var top = parseInt(obj.css('top'));

    if (t > lastScrollTop) {
      newTop = top + 1;
      $('.topBonjour .wrapper').css('top', newTop +'px');
    } else {
      newTop = top - 1;
      $('.topBonjour .wrapper').css('top', newTop +'px');
    }    
}
非常感谢,
Cédric

您不必使用脚本使俯冲占据视图端口的100%宽度和高度。它在CSS中非常简单。另外:发布你的相关代码的实时版本。如果你能解释更多你想要达到的目标。“比父母更慢”是什么意思。请阅读这里的答案,它对我帮助很大!可能您忘记了将这些元素的位置设置为相对位置,以便顶部的css工作。