Показать сообщение отдельно
  #1 (permalink)  
Старый 08.09.2017, 19:49
Аспирант
Отправить личное сообщение для Vardges Посмотреть профиль Найти все сообщения от Vardges
 
Регистрация: 28.08.2017
Сообщений: 30

switch значений после 3-его клика
Добрый день. Существют блоки,при каждом 3-ем клике цифры 1ого и 2ого клика меняются местами.
получилось разве что менять местами первые 2 цифры с помошью свитча элементов массива.
[HTML]<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style>
		body{
		display:flex;
			flex-wrap:wrap;
			justify-content: center;
			width: 50%;
		}
		div{
			width: 100px;
			height: 100px;
			border:1px solid;
			font-size: 24px
		}
	</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
<script type="text/javascript" src="js/script.js"></script>
</html>
[/html]
var elem=document.querySelectorAll('div');
for (var i=0;i<elem.length;i++){
	elem[i].addEventListener('click',F)
}
	var a=[];
function F(){
	if(this.innerHTML!=""){
		return false
	}
	var x=parseInt(Math.random(1)*9);
	a.push(x);

	for(var i=0;i<a.length;i++){
		var tiv=a[i];
		this.innerHTML=tiv;
		if(a[0]&&a[1]&&a[2]){
			var x=a[0];
	 		var y=a[1];
	 		a[1]=x;
	 		a[0]=y;
		}
	}
	console.log(a)
}

Код не закончен, дошел до switch элементов массива.
Как я пытался решить задачу. Массив берет максимум 3 числа и меняет местами первые 2 значения и обнуляется, потом опять 3 и обнуляется.При этом старые значения не должны исчезать.
Не знаю на сколько это практично и легко,но буду признателен за помошь.

Последний раз редактировалось Vardges, 08.09.2017 в 19:53.
Ответить с цитированием