Как делать счетчик бинарным?

Я хочу, чтобы, когда я он кликну в кнопку HTML, в консоли я набрал номер "0", и его кликнув он набрал номер "1", и так будьте вставлены в "0" "1", "0" "1" до бесконечности.

То, чего я достиг, так это это (что плохое, потому что не retroce в нуль, но происходят с "2", "3", "4", и т.д.):

$( 'bottom' ).click( function (  ) {
  var n = 0;
  console.log( n++ )
} )
1
задан 08.03.2018, 19:19
5 ответов

Podr¦, - который должен быть что источник вопроса esté в назывании его "счетчиком", когда то, чего требуют, - то, что в inglés известно как "toggle button", что в español podr¦, - чтобы переводить как bot¦n activaci¦n.

В continuaci¦n пример.

, нажав на bot¦n, меняет себе цвет div аквамарина в темно-серый и наоборот. Для этого использует условный (тройной) оператор , синтаксиса которых

condición ? expr1 : expr2 

document.getElementById('boton').addEventListener('click', activar);

function activar() {
  var elDiv = document.getElementById('elDiv');
  
  // Se utiliza un operador ternario para asignar un valor o el otro
  (elDiv.className=='cero')?elDiv.className='uno':elDiv.className='cero';
 
}
.cero, .uno {
  width: 50px;
  height: 50px;
}

.cero {
  background-color: darkgrey;
}

.uno {
  background-color: aquamarine;
}
<input id="boton" type="button" value="Cambiar color">
<div id="elDiv" class="cero"></div>
3
ответ дан 24.11.2019, 01:12

Я не понимаю porqué это должен быть "счетчик".

, Если то, что ты хочешь, состоит в том, чтобы показывать 0 или 1, ты можешь делать это таким образом:

function mostrar_valor() {
  // Obtener el valor del campo de texto:
  var vlr = document.getElementById('txt_valor').value;

  // Evaluar el valor obtenido y asignar un nuevo valor:
  switch (vlr) {
    case "0":
      vlr = "1";
      break;
    case "1":
      vlr = "0";
      break;
  }
  // Establecer el valor al campo de texto:
  document.getElementById('txt_valor').value = vlr;
}
<input type="text" id="txt_valor" readonly value="0" />
<input type="button" id="btn_mostrar_valor" value="Mostrar valor" onclick="mostrar_valor()" />
2
ответ дан 24.11.2019, 01:12
  • 1
    Точно я хочу сделать botó n, что, когда он click он будет стилизовать в другой элемент, мы сказали, что я изменил ему цвет фона в div в синий цвет, но что, когда он вновь даст ему click, это было возвращено в как дела, и так, когда он вновь даст ему click, направьте это, чтобы помещать синий цвет. Для этого я предполагаю, что я нуждаюсь в счетчике, для того, чтобы посредством условного if, он показал ему, что, если я даю click, и он стоит " 0" я стиля, и если я даю ему click, и он стоит " 1" я другого. – edu 08.03.2018, 19:11
  • 2
    @edu, ответ, который я дал, он может функционировать, чтобы добиваться того, что Вы говорите в Вашем комментарии. Inté ntelo. – Mauricio Arias Olave 08.03.2018, 20:19

доказательство этой формы:

    var n = 0;
    $( 'bottom' ).click( function (  ) {
console.log(n);
    if(n==0)
      n=1;
    else
      n=0;

    } )

Пример логики: https://jsfiddle.net/21j3gqfm/13 /

типов Привета.

1
ответ дан 24.11.2019, 01:12

Usaré как основание один из ответов. Он не необходим условные комплексы, обрежь использовать оператор % , чтобы повторять и получать c¦digo mÃ: s простой и fÃ: cil поддержания.

function mostrarValor() {
  // Obtener el valor del campo de texto:
  var vlr = document.getElementById('txt_valor').value || 0;
  // Establecer el valor al campo de texto:
  document.getElementById('txt_valor').value = ++vlr % 2;
  document.getElementById('txt_valor').className = "_" + document.getElementById('txt_valor').value;
}
._0 {
  background-color: red;
}
._1 {
  background-color: blue;
}
<input type="text" class="_0" id="txt_valor" readonly value="0" />
<input type="button" id="btn_mostrar_valor" value="Mostrar valor" onclick="mostrarValor()" />
1
ответ дан 24.11.2019, 01:12

две вещи я касаюсь этот вопрос: Первые

: В твой первоначальный одинокий код ему не хватает %2 внутри скобки, и доставать инициализацию n вне функции:

var n = 0; $ ('bottom') .click (function () { console.log (n ++ %2); })

с этим, ты показывал бы на экране оставшуюся часть деления числа, что есть актив (он увеличивается) между 2 (что будет всегда чередующимся между 0,1).

секунда: твой $ ('') ссылается в bottom. я думаю, что ты был бы должен делать это на id элемента #bottom или на классе .bottom.

0
ответ дан 24.11.2019, 01:12
  • 1
    Не работает.... Лучше я объясняю Тебе кратко, что то, что я хочу сделать, чтобы видеть, можешь ли ты делать это в твой способ: botó n, что, дав ему click, изменил цвет div в синий цвет, и когда он направит его, чтобы кликать, что я возвратился к цвету начального div (давайте говорить мишень). С click, который применял бы к нему стиль, и с другим, который возвращал бы того, который у него был раньше. – edu 08.03.2018, 19:33
  • 2
    вскоре после твоего комментария, мне кажется более правильным решение, которое тебе показывает Рубен, используя то, что называется " toggle button". Я исправил мой рукописный шрифт, было нужно доставать var n=0; вне funció n, чтобы это инициализировать. – Jakala 09.03.2018, 10:49

Теги

Похожие вопросы