2013-10-09 26 views
1

Я пытаюсь сделать div, который находится внутри контейнера div, перемещается в противоположном направлении мыши по оси X (только слева и справа).Перемещение div на mousemove внутри другого div

это то, что я до сих пор:

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/

по какой-то причине функция перестает работать через пару секунд.

может кто-нибудь помочь, пожалуйста

ответ

2

Попробуйте это: JSFiddle

Вы писали

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

вместо

if (x <= 400)

:)

+0

Спасибо, сработало :-). Я знал, что что-то в моей математике было не так ... –

0

Это должно сделать это

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

FIDDLE

+0

Да, это способ сделать это. много спасибо :-) –

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

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

    }); 
}); 

Проверить эту ссылку Работа мелкий чувак ...

Js Fiddle Demo

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; 
} 
Смежные вопросы