2014-02-10 239 views
0

编辑:我现在有这个:http://jsfiddle.net/cGZxv/115/如果我想摆脱容器div,只是使用“文档”?是否有一个更清洁的方式做到这一点?Div移动鼠标移动中心()

我一直在玩一些我在网上找到的代码,而且我几乎都有它在我想要的地方。我只是无法弄清楚如何完成最后一部分。在这种的jsfiddle:

http://jsfiddle.net/cGZxv/114/

$(document).ready(function(){ 
    $('div.container').mousemove(function(e){ 
     var x = e.pageX - this.offsetLeft; 
     if (x <= 400) { 
      x2=x*0.2 
      $('div.box').css({'right': x2}); 
     } 
     var y = e.pageY - this.offsetTop; 
     if (y <= 400) { 
      y2=y*0.2 
      $('div.box').css({'bottom': y2}); 
     } 
    }); 
}); 

我想要做的就是有“测试箱”捕捉到containter DIV的中心,并在鼠标移动,基本上是“轨道”的中心。如果将鼠标移动到圆圈中,则会获得所需的移动,但该框位于错误的位置。

在此先感谢!

+0

将'.container'添加到''并删除容器div。 –

+0

什么是正确的地点?我不理解它应该是什么样子。 –

+0

@azeós那将是什么样子? –

回答

1

这里是把它放在身体而不是容器的JS。

$(document).ready(function(){ 
    $(window).mousemove(function(e){ 
     var x = e.pageX-window.innerWidth/2; 
     if (x <= 400) { 
      x2=x*0.2 
      x3=x2+window.innerWidth/2 
      $('div.box').css({'right': x3}); 
     } 
     var y = e.pageY-window.innerHeight/2; 
     if (y <= 400) { 
      y2=y*0.2 
      y3=y2+window.innerHeight/2 
      $('div.box').css({'bottom': y3}); 
     } 
    }); 
}); 

然后,我改变了CSS得到它在中间开始:

.box { width: 50px; height: 50px; border: 1px #000 solid; position: absolute; margin:-25px 0 0 -25px;bottom:50%;right:50%;} 

这里有一个JSFiddle

+0

这是完美的!谢谢! –

+0

如果我想让这个盒子变大一点,它就不再居中了。任何快速解决? –