2015-07-05 2 views
-2

Мне нужен способ переключения между двумя режимами при нажатии кнопки.Как заменить значение строковой переменной в javascript?

Аналогия моей проблемы:

кнопка нажата «и выключается» и предупреждение говорит «On» или «Off»

Как я могу получить строку для переключения между значениями: " On "и" Off ", обновляя значение строки каждый раз, когда я нажимаю кнопку, которая проверяет текущее значение и заменяет?

интерфейс

<button onclick="changeState();">Push me</button> 

сценарий

<script> 

var string = "up"; 

function changeState(){ 

    if(string=="up"){ 
    // switching to off 
    var string = "down"; // I'm just redeclaring or declaring a new variable right? scope? 
    alert(Off); 
    }else{ 
    // switching to on assuming current state is off 
     var string = "up"; 
     // new state 
     alert('on'); 
    } 

    } 

} 
</script> 

ответ

2

Здесь вы. Я удалить 'вар' пусть это глобальное, а также удалить } запасную:

var string = "up"; 
 

 
function changeState() { 
 
    if (string == "up") { 
 
    // switching to off 
 
    string = "down"; // I'm just redeclaring or declaring a new variable right? scope? 
 
    alert("off"); 
 
    } else { 
 
    // switching to on assuming current state is off 
 
    string = "up"; 
 
    // new state 
 
    alert('on'); 
 
    } 
 
}
<button onclick="changeState()">Push me</button>

Надеется, что это поможет.

+0

Ну это явно работает, не уверен, что это неправильно с моей стороны. Спасибо. – janicehoplin

+0

Странный для моего конца, он должен был сказать «else if» для второго условия. – janicehoplin

+1

Все нормально, но это не обязательно. Если у вас есть другое состояние, например, вверх, вниз, отключено, затем используйте else if или switch case statement. – hungndv

1

var string = "up"; 
 

 
function changeState() { 
 
    
 
    string = string =="up" ? "down" : "up"; 
 

 
}

+0

тройная переменная или что-то в этом роде, человек показал мне это на днях. Спасибо за Ваш ответ. – janicehoplin

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