У меня есть изображение, которое вращается и считает клики одновременно.Пользователь должен повернуть изображение в правильное положение, а затем отправить этот ответ, чтобы перейти на следующую страницу.В зависимости от общего количества кликов на первом изображении (проверяется с помощью функции clickedcount), нажатие второй кнопки приведет к переходу к одному из двух URL.
У меня есть изображение, которое можно поворачивать при нажатии с помощью CSSпреобразования.У меня также есть функция clickedcount, которая подсчитывает количество кликов, а затем вторая кнопка корректно реагирует на один из URL-адресов в зависимости от этого общего количества.Однако мне нужно начать отсчет с 2, а не с 0, так как это первая правильная позиция изображения.Тогда каждый полный оборот после этого (кратный 4) также будет принят как правильный.Таким образом, итоговые значения clickcount равны 2, затем 6, 10, 14, 18, 22 и т. Д.
Изменение начального значения clickedcount в первой функции приводит к принятию вышеуказанных правильных итоговых значений.Тем не менее, он также поворачивает изображение еще 2 раза при первом щелчке (что не должно).Я предполагаю, что мне нужно изменить бит 'if (clickedCount% 4 === 0)', чтобы эффективно добавить 2 к начальному итогу, но пока все варианты, которые я пробовал, не работали.
Пока что самое близкое, что у меня есть, это:
'if (clickedCount = 2 || 2 + (% 4 === 0))'
если количество кликов равно 2 ИЛИ 2 +, кратному 4
Но это совсем не принимается (прекращает вращаться полностью).Я не уверен, где я иду не так здесь!Я новичок в javascript, поэтому, вероятно, упустил что-то очень очень очевидное: (
JS:
<script src="http://code.jquery.com/jquery-latest.min.js" charset="utf-8"></script>
<script>
// Rotate cog when clicked
var directions = ["north", "west", "south", "east"],
clickedCount = 0;
$(function() { // on page load
$('#innercog').click(function() { //* When user clicks on first image //
$(this).removeClass(directions[clickedCount % 4]);
clickedCount++; // do not reset, just keep adding
$(this).addClass(directions[clickedCount % 4]);
console.log(clickedCount,directions[clickedCount % 4]);
});
// When tryunlock button is clicked, checks if stored clicks value is a multiple of 4 and navigates to one of the two urls depending if correct
$("#tryunlock").on("click", function() {
if (clickedCount % 4 === 0) {
console.log(clickedCount,"Entranceroom");
window.location.href = "entranceroom.html";
} else {
console.log(clickedCount,"maindoor");
window.location.href = "maindoor.html"; /* go to next page */
}
});
});
</script>
CSS:
.north {
transform: rotate(0deg);
-webkit-transform: rotate(0deg); /* Safari / Chrome */
}
.west {
transform: rotate(90deg);
-webkit-transform: rotate(90deg); /* Safari and Chrome */
}
.south {
transform: rotate(180deg);
-webkit-transform: rotate(180deg); /* Safari and Chrome */
}
.east {
transform: rotate(270deg);
-webkit-transform: rotate(270deg); /* Safari and Chrome */
}