Почему, если еще не работает здесь в JavaScript?

0

Я хочу, чтобы анимация была такой, что она переключается на сдвиг div слева и справа каждый раз, когда я нажимаю кнопку. Однако, когда я на самом деле использую код, он только сдвигает его вправо один раз и перестает работать.

<script> 
var left = 1;

$(document).ready(function(){
$("button").click(function(){

  if(left==1){
    $("div").animate({left:'250px'});
    left=2;
  }else{ 
    $("div").animate({right:'250px'});
    left=1;
  }

  });
});

</script> 

Что не так с этим кодом? Я не мог придумать проблему.

Теги:

2 ответа

5

Поскольку вы используете как левый, так и правый, попробуйте следующее:

if( left === 1 ) {
    $("div").animate({left:'250px'});
    left = 2;
}
else { 
    $("div").animate({left:'0px'});
    left = 1;
}
  • 1
    Или вы можете установить противоположное значение на ноль, как это: jsfiddle.net/hAbtS
  • 0
    Или очистите слева: $("div").animate({left:'',right:'250px'}); , jsbin.com/OCigILU/1/edit
0

Петля была права, но css не было.

<script> 
var left = 1;

$(document).ready(function(){
$("button").click(function(){
  if(left==1){
    $("div").animate({left:'250px'});
    left=2;
  }
  else { 
    $("div").animate({left:'0px'});
    left=1;
  }
 });
});

</script>         

Ещё вопросы

Сообщество Overcoder
Наверх
Меню