2012-05-24 5 views
1

Использование jquery's .css() Я меняю значение атрибутов слева, чтобы переместить div влево или вправо. Я ищу способ оживить это изменение по мере его возникновения. Ничего из того, что ive пыталось работать, ive попробовал функцию jQueryUI .show(slide), но это перемещает весь div, а не только движение 120px, которое мне нужно.jQuery анимация движения влево и вправо

Это моя текущая функция, которая работает без анимации:

$('#plrt').live("click",function(){ 
    var lm=$('.plwid').css("left"); 
    lm = (parseInt(lm) + 120); 
    $('.plwid').css("left", lm);  
}); 

это функция слайд, он не работает должным образом, как весь ДИВ идет от display:hide к display:show, а не просто перемещая пиксель изменить

+2

Вы пробовали использовать анимацию? – Jrod

+0

@ dqlopez. Вам нужна 'http: //' в ссылке, чтобы она работала ... – gdoron

+0

покажите нам несколько [demo] (http://jsfiddle.net) или, как было предложено @Jrod ['animate()'] (http : //api.jquery.com/animate/). – deex

ответ

5

попробовать animate()

$('#plrt').on("click",function(){ 
    $('.plwid').animate({ left: '+=120' }, 400); 
}); 
+0

Примечание 'live' устарело. – deex

+0

@dqlopez Я просто использовал код OP, но хорошая точка - обновлена ​​ –

+0

@dqlopez thats my bad using '.live', плохая привычка использовать его до 1.7 @zoltan, спасибо, сэр, это сработало как шарм – JimmyBanks

2

попробовать этот

$('#plrt').on('click', function() { 
    $('.plwid').animate({ left: '+=120', 5000 });  
}); 
5

Я быстро взвесил пример того, что, как я думаю, вы пытаетесь достичь.
Вы должны зарегистрироваться jQuery Animate.

//note live is deprecated 
 
$('#plrt').on("click", function() { 
 
    //perform custom animation to add 120px to current left CSS position 
 
    $('.plwid').animate({ 
 
    left: '+=120' 
 
    }); 
 
});
#plrt{ 
 
    position:relative; 
 
    background:red; 
 
    width:100px; 
 
    height:100px; 
 
    cursor:pointer; 
 
} 
 

 
.plwid{ 
 
    position:absolute; 
 
    background:blue; 
 
    width:100px; 
 
    height:100px; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js"></script> 
 
<div id="plrt"></div> 
 
<div class="plwid"></div>

Смежные вопросы