Javascript 移动多个div的x和y';在js中,鼠标x上的s,y

Javascript 移动多个div的x和y';在js中,鼠标x上的s,y,javascript,jquery,css,mouseevent,parallax,Javascript,Jquery,Css,Mouseevent,Parallax,我的目标是制作一个网页,其中包含文本等的多个div在鼠标x和y上移动。它应该看起来像鼠标x和y上的视差效果。我遇到的所有视差插件都是基于图像的,所以它们不能与div一起工作。 我自己写了一个小js,但是div在页面上跳来跳去,没有css能把它们保持在原位。也许有更多js经验的人知道我如何解决这个问题。下面是代码。希望能收到你们所有人的来信 HTML: JS: position:absolute从元素的正常流中删除一个元素,这会导致其他所有元素发生移动。另外,在渲染后设置宽度会导致一些偏移,因为这

我的目标是制作一个网页,其中包含文本等的多个div在鼠标x和y上移动。它应该看起来像鼠标x和y上的视差效果。我遇到的所有视差插件都是基于图像的,所以它们不能与div一起工作。 我自己写了一个小js,但是div在页面上跳来跳去,没有css能把它们保持在原位。也许有更多js经验的人知道我如何解决这个问题。下面是代码。希望能收到你们所有人的来信

HTML:

JS:


position:absolute
从元素的正常流中删除一个元素,这会导致其他所有元素发生移动。另外,在渲染后设置
宽度会导致一些偏移,因为这里您也在操作显示
#visie
的高度

试试这个:

$('#scene').mousemove(function(e){
  var x = -(e.pageX + this.offsetLeft) / 20;
  var y = -(e.pageY + this.offsetTop) / 20;

  var h = document.getElementById('home');
  h.style.position = "relative";
  h.style.left = x+'px';
  h.style.top = y+'px';
});
这里也有:


在这里,它们都在移动:

我猜你指的是
#visie
当你在
#场景
上移动?这是因为
position:absolute
将其从正常流程中移除。谢谢!!这就是我需要的。如果你感兴趣的话,我会在完成后发布url。当然,我很想看看视差文本框是如何工作的:)@Bart nice!谢谢你让我知道它是如何进行的:D让它在手机上工作将是我要做的第一件事。可能会根据屏幕大小禁用全屏分页。你打算在页眉上加上视差效果吗?不,我在名为#intro的div上用的是视差,基本上是除菜单之外的所有tekst和页眉,在背景上用的是相反的方向。但毕竟,我们设法制作了一种固定页面,这样我们就可以最大限度地控制文本在图像上的定位。这也是我们使用全页滚动和“滑动”文本块的原因。ps我删除了我以前的帖子,因为当我用谷歌搜索网站名称时,它是谷歌搜索的头号热门
.container{
    margin-right: 20%;
    margin-top: 200px;
    margin-bottom: 200px;
    margin-left: 20%;

    font-size: 16px;

    background-color: yellow;

}

.kop{
    font-family: GTWBold;

}

.brood{
    font-family: GTWMedium;

}


#home{
    margin-top: 20px;

}


#visie{
    margin-right: 40%;

}
$('#scene2').mousemove(function(e){
    var x = -(e.pageX + this.offsetLeft) / 20;
    var y = -(e.pageY + this.offsetTop) / 20;

    var h = document.getElementById('home');
    h.style.position = "absolute";
    h.style.left = x+'px';
    h.style.top = y+'px';   
    h.style.width = "500px";

});
$('#scene').mousemove(function(e){
  var x = -(e.pageX + this.offsetLeft) / 20;
  var y = -(e.pageY + this.offsetTop) / 20;

  var h = document.getElementById('home');
  h.style.position = "relative";
  h.style.left = x+'px';
  h.style.top = y+'px';
});