在另一个div内的mousemove上移动一个div

时间:2013-10-09 11:18:36

标签: jquery css html mousemove

我正在尝试使一个容器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 个答案:

答案 0 :(得分:2)

试试这个:JSFiddle

你写了

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

而不是

if (x <= 400)

:)

答案 1 :(得分:0)

这应该这样做

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

FIDDLE

答案 2 :(得分:0)

$(document).ready(function(){
   $('div.container').on('mousemove',function(e){
    var x = e.pageX - this.offsetLeft;

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

   });
});

检查此链接正常工作......

Js Fiddle Demo

答案 3 :(得分:0)

wc -l

///////// CSS

$('#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});
    });