1

我正在尝试使容器 div 内的 div 在 X 轴上以与鼠标相反的方向移动(仅向左和向右)。

这就是我到目前为止所拥有的:

html

<div class="container">
    <div class="box"></div>
</div>

css

.container { width: 450px; height: 52px; border: 1px #000 solid; position: relative; }
.box { width: 50px; height: 50px; border: 1px #000 solid; position: absolute; right: 200px; }

jQuery

$(document).ready(function(){
  $('div.container').mousemove(function(e){
        var x = e.pageX - this.offsetLeft;
      if ($('div.box').css('right') <= '400') {
          $('div.box').css({'right': x}); 
      }
  });
});

JSfiddle - http://jsfiddle.net/eyalbin/qQmu7/49/

由于某种原因,该功能在几秒钟后停止工作。

谁能帮忙

4

4 回答 4

2

试试这个:JSFiddle

你写了

if ($('div.box').css('right') <= '400')

代替

if (x <= 400)

:)

于 2013-10-09T11:24:40.427 回答
0
$(document).ready(function(){
   $('div.container').on('mousemove',function(e){
    var x = e.pageX - this.offsetLeft;

      $('div.box').css({'right': x}); 

   });
});

检查此链接工作得很好,伙计...

Js 小提琴演示

于 2013-10-09T11:28:03.757 回答
0

这应该这样做

$(document).ready(function(){
  $('div.container').mousemove(function(e){
      var x = e.pageX - this.offsetLeft;
      if ((x <= 400)) {
          $('div.box').css({'right': x}); 
      }
  });
});

小提琴

于 2013-10-09T11:24:37.447 回答
0
$('#parent .child').mousemove( function(e) {


       var parent_x = this.offsetLeft; //get parent position
       var parent_y = this.offsetTop;      

       var mouseX   =  e.pageX; //get mouse move position
       var mouseY   =  e.pageY;

       var boxPositionX = mouseX-parent_x+5;
       var boxPositionY = mouseY-parent_y+5;

       $('.hover-box',this).css({'top': boxPositionY,'left': boxPositionX});
    });

///////// CSS

.hover-box{
   position:absolute;
}
于 2015-04-27T15:59:28.780 回答