Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.06.2020, 07:32
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Подсчет кликов
Доброго времени суток всем.
Есть код (прилагается) для подсчета количества кликов по кнопке.
Мне надо переделать его так, чтобы:

1. число кликов не выводилось на экран;
2. количество кликов начиналось не с цифры "1", а с цифры "0";
3. после определенного количества кликов (допустим 7) подсчет должен опять начаться с "0" (и до "7") и т.д.;
4. присвоить полученное число переменной let cordI.

Подскажите, пожалуйста, как этого добиться.

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="utf-8">
    <title></title>
   
</head>
  
<body>

  <button type="button" onClick="clickME()">Click me</button>
    <p>Clicks: <a id="clicks">0</a></p>
	
  <script>
  
   let cordI = -1;
  
   let clicks = 0;
    function clickME() {
        clicks += 1;
        document.getElementById("clicks").innerHTML = clicks;
 }
  
  </script>
   
</body>
  
</html>
Ответить с цитированием
  #2 (permalink)  
Старый 16.06.2020, 09:51
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Vahan60
число кликов не выводилось на экран;
<p>Clicks: <a id="clicks">0</a></p>
и
document.getElementById("clicks").innerHTML = clicks;

2, 3, 4:

let clicks = 0;

в функции оставить - cordI = ++cordI % 7;

Так нужно?
Ответить с цитированием
  #3 (permalink)  
Старый 16.06.2020, 09:55
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Vahan60,
let cordI = 0;
function clickME() {
    cordI = ++cordI % 7;
}
Ответить с цитированием
  #4 (permalink)  
Старый 16.06.2020, 11:56
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Сообщение от laimas Посмотреть сообщение
Так нужно?
Спасибо, вам обоим, за оперативный ответ.
Вот только воспользоваться им не получается.

Так я вижу, что код работает как надо:

<script>
   let cordI = 0;
  
    function clickME() {
        cordI = ++cordI % 7;
        console.log (cordI);
 }
  </script>


А вот так - я не вижу результата:

<script>
   let cordI = 0;
  
    function clickME() {
        cordI = ++cordI % 7;
 }
   console.log (cordI);
</script>


Но мне то необходим именно второй вариант. Чтобы суметь воспользоваться значениями переменной cordI.
Ответить с цитированием
  #5 (permalink)  
Старый 16.06.2020, 12:17
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Сообщение от Vahan60
Но мне то необходим именно второй вариант.
js не обладает телепатией.
кто запретил вам использовать первый вариант?
или сформулируйте вашу задачу как-то иначе.
Ответить с цитированием
  #6 (permalink)  
Старый 16.06.2020, 12:34
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Сообщение от рони Посмотреть сообщение
... или сформулируйте вашу задачу как-то иначе.
Сформулирую. Точнее доформулирую.

Конкретное значение переменной cordI необходимо для дальнейшей работы кода.
В зависимости cordI=1 или cordI=5 скрипт должен будет выполнять то или иное действие. Следовательно мне необходимо получить и использовать значение cordI вне функции clickME.

Как это сделать?
Ни return cordI, ни вызов функции clickME() не помогают.
Ответить с цитированием
  #7 (permalink)  
Старый 16.06.2020, 14:00
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Vahan60
Следовательно мне необходимо получить и использовать значение cordI вне функции clickME
В функции clickME нельзя "выполнять то или иное действие"?
Ответить с цитированием
  #8 (permalink)  
Старый 16.06.2020, 15:22
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

Верно. Не будет. И не надо.

Дан массив:
const example = [
["red", "coral", "crimson"],
["gold", "yellow", "orange"],
["blue", "aqua", "green"],
["fuchsia", "pink", "purple"],
["gray", "white", "black"],
["gold", "yellow", "orange"],
["fuchsia", "pink", "purple"]];

Дан доступ к его элементам через 4 кнопки.
Кнопка 1 (cordI) дает доступ к [i]. Здесь используем подсчет количества кликов.
Кнопки 2, 3, 4 (cordJ) дадут доступ к [j].

Таким образом элемент массива можно записать example[cordI][cordJ].

Зачем такие сложности.
Дело в том, что кроме данного массива в скрипте еще 12 таких же (по структуре) массивов связанных с example.
Зная какой элемент массива example активен (т.е. его [i]([cordI]) и [j]([cordJ])) можно легко добраться до соответствующего элемента другого массива. С которым будут работать другие функции.

Вот поэтому то мне и необходимо, чтобы cordI был виден вне функции clickME.

Последний раз редактировалось Vahan60, 16.06.2020 в 15:28.
Ответить с цитированием
  #9 (permalink)  
Старый 16.06.2020, 15:27
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Vahan60
чтобы cordI был виден вне функции clickME
Он и объявлен вне ее, то есть глобально и будет доступен из других функций.
Ответить с цитированием
  #10 (permalink)  
Старый 16.06.2020, 17:24
Аспирант
Отправить личное сообщение для Vahan60 Посмотреть профиль Найти все сообщения от Vahan60
 
Регистрация: 20.04.2020
Сообщений: 46

То есть, если даже его не видно в консоли, то он все равно будет виден и сработает в другой функции?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сделать обработчик кликов с замыканием gunner17 Events/DOM/Window 6 23.12.2019 11:51
Подсчет количества кликов мыши на объект в jquery Евгений_86 Events/DOM/Window 27 03.02.2019 03:46
Подсчет количества повторений слов Макс [44] Общие вопросы Javascript 4 25.04.2012 18:18
Задача оптимизации кода по обработке кликов EVGENi jQuery 4 21.01.2012 17:55
Как сделать подсчёт кликов через javascript MCTrane Общие вопросы Javascript 10 06.04.2010 17:11