2016-05-16 3 views
0

Что я делаю неправильно? Если нажать кнопку, переменная s будет иметь значение 10, если нет, то она равна 0. Однако она не работает.Если кнопка нажата, измените переменную в Javascript

$('button').observe('click', function() { 
    var clicked = true; 
    window.clicked = clicked; 
}); 

if (clicked) 
{ 
    var s = 10; 
} 
else 
{ 
    var s = 0; 
} 

ответ

4

Это может помочь вы-

<button> 
    click 
    </button> 

<script> 
     var clickCounter=0; 
     var s=0; 
     alert(s); 
     $('button').on('click',function(){ 
      var s=10; 
      alert(s); 
      }); 
</script> 

Первоначально переменная будет сохранять значение 0, после того, как щелкнут втулка, переменной присваивается значение 10.

+0

Это сработало для меня, спасибо. Хотя это не так, как я хотел, потому что var s = 10; внутри функции, которая должна быть без «var». – JohnMichael

1

Вы создаете переменную S внутри области if и else. Создать Var сек нерабочие, если и еще и назначить впоследствии

Или вы можете сделать это следующим образом:

var s = 0;  
    $('button').observe('click', function() { 
     s = 10; 
    }); 

Таким образом, вы назначаете от 10 до с только после щелчка. Код, который у вас был раньше, никогда не установил бы ничего на 10

1

Что именно вы пытаетесь достичь? Почему бы вам просто не установить s = 10 на событие click? Как это:

var s = 0; 

$('button').click(function() { 
    s = 10; 
    console.log(s); 
}); 

console.log(s); 

Или, если вы пытаетесь наблюдать значение, которое изменяется, попробовать что-то вроде этого:

$('button').click(function() { 
    object.s = 10; 
}); 

var object = {}; 
Object.defineProperty(object, 's', { 
    get: function() { 
    return this.value; 
    }, 
    set: function(newValue) { 
    alert(newValue); 
    this.value = newValue; 
    } 
}); 

object.s = 0; 
Смежные вопросы