2016-06-02 4 views
-1

Изображение вращается, но значение переменной $points не назначено!присвоение значения не работает

Что я хочу, когда пользователь нажимает на изображение, которое он вращает, а затем он оповещает.

Пожалуйста, ответьте, я застрял на нем.

var $toggle = 0; 
 
var $points = 0; 
 
    $('.one').click(function() { 
 
     if ($toggle == 0) { 
 
      $(this).css("transform", "rotate(90deg)"); 
 
      $points = 100; 
 
      $toggle = 1; 
 
     } 
 
     else if ($toggle == 1) { 
 
      $(this).css("transform", "rotate(180deg)"); 
 
      $toggle = 2; 
 
      $points = 0; 
 
     } 
 
     else if ($toggle == 2) { 
 
      $toggle = 3; 
 
      $points = 0; 
 
      $(this).css("transform", "rotate(270deg)"); 
 
     } 
 
     else if ($toggle == 3) { 
 
      $toggle = 0; 
 
      $(this).css("transform", "rotate(360deg)"); 
 
      $points = 0; 
 
     } 
 
     else { 
 
      
 
     } 
 
    }); 
 
if ($points >= 100) { 
 

 
    alert("next mission"); 
 

 
} 
 
else { 
 

 
    //nothing 
 

 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<img src="Assets/pipe.png" class="c1 one">

+0

Put это 'если ($ точек> = 100) {Alert ("следующая миссия");} 'в конце события' click' – Akshay

+0

Вы устанавливаете значение $ points to 100 первым кликом, но только оповещение, если оно превышает 100? Плюс вне функции, поэтому оператор if будет запускаться только один раз, прежде чем вы нажмете – DavidB

+0

@DavidB Over или equal. –

ответ

0

Помещенный если ($ точек> = 100) код условия внутри $ ("один"). Нажмите событие.

var $toggle = 0; 
var $points = 0; 
    $('.one').click(function() { 
     if ($toggle == 0) { 
      $(this).css("transform", "rotate(90deg)"); 
      $points = 100; 
      $toggle = 1; 
     } 
     else if ($toggle == 1) { 
      $(this).css("transform", "rotate(180deg)"); 
      $toggle = 2; 
      $points = 0; 
     } 
     else if ($toggle == 2) { 
      $toggle = 3; 
      $points = 0; 
      $(this).css("transform", "rotate(270deg)"); 
     } 
     else if ($toggle == 3) { 
      $toggle = 0; 
      $(this).css("transform", "rotate(360deg)"); 
      $points = 0; 
     } 
     else { 

     } 
     // put it inside this click event 
     if ($points >= 100) { 
      alert("next mission"); 
     } 
     else { 
      //nothing 
     } 
    }); 
0

Put, если условие внутри события щелчка, как это:

var $toggle = 0; 
 
var $points = 0; 
 
    $('.one').click(function() { 
 
     alert($points); 
 
     if ($toggle == 0) { 
 
      $(this).css("transform", "rotate(90deg)"); 
 
      $points = 100; 
 
      $toggle = 1; 
 
     } 
 
     else if ($toggle == 1) { 
 
      $(this).css("transform", "rotate(180deg)"); 
 
      $toggle = 2; 
 
      $points = 0; 
 
     } 
 
     else if ($toggle == 2) { 
 
      $toggle = 3; 
 
      $points = 0; 
 
      $(this).css("transform", "rotate(270deg)"); 
 
     } 
 
     else if ($toggle == 3) { 
 
      $toggle = 0; 
 
      $(this).css("transform", "rotate(360deg)"); 
 
      $points = 0; 
 
     } 
 
     else { 
 
      
 
     } 
 
     if ($points >= 100) { 
 

 
      alert("next mission"); 
 

 
     } 
 
     else { 
 

 
      //nothing 
 

 
     } 
 
    }); 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<img src="Assets/pipe.png" class="c1 one">