JS рулетка

1.71K
.
Hey guys! Finally I'm gonna change status!🐯
Koenig, Может win-encoding и кирилицу? С utf-8 он работает прекрасно.
.
(\/)____o_O____(\/)
kantry, я когда то поймал неприятностей, но решил сериализацией
.
OtherWorld
Решил вопрос путём определения угла наклона контейнера для секторов на рулетке.
PHP выбирает угол, передаёт JS, а JS после 1 секунды прокрутки крутит до нужного угла рулетку.

Проверка под каким углом сейчас контейнер
// функция для определения угла наклона элемента 
function getDegreeElementById(id_element){
	var element = document.getElementById(id_element);
	var style = window.getComputedStyle(element, null);
	// получаем значение стилей
	var valueStyle = style.getPropertyValue("-webkit-transform") ||
		style.getPropertyValue("-moz-transform") ||
		style.getPropertyValue("-ms-transform") ||
		style.getPropertyValue("-o-transform") ||
		style.getPropertyValue("transform");
	// если стилей нет, то угол 0 градусов
	if(valueStyle == 'none') return 0;
	// разбираем полученное значение
	console.log(valueStyle);
	var values = valueStyle.split('(')[1];
	values = values.split(')')[0];
	values = values.split(',');
	// получаем синус и косинус
	var cos = values[0];
	var sin = values[1];
	// вычисляем угол
	var degree = Math.round(Math.asin(sin) * (180/Math.PI));
	if(cos<0){
		addDegree = 90 - Math.round(Math.asin(sin) * (180/Math.PI));
		degree = 90 + addDegree;
	}
	if(degree < 0){
		degree = 360 + degree;
	}
	return degree;
}

var delay = 1000,
	anglespin = 0,
	starttime = 0,
	stopanglemin = document.getElementById('stopanglemin').innerHTML,
	stopanglemax = document.getElementById('stopanglemax').innerHTML;
function findangle () {
		anglespin = getDegreeElementById('spin');
	if (anglespin >= stopanglemin & anglespin <= stopanglemax & anglespin > 0) {
		circle.css('animationPlayState', 'paused');
		postrandfindstr.disabled = 0;
		postrandserver.disabled = 0;
		buttonstart.disabled = 0;
		document.getElementById('statusrandomwin').innerHTML = 'Опа! Поздравляем Вы выиграли <b>'+document.getElementById('countammowin').innerHTML+'<b> Аммо';
		
		starttime = 1;
		delay = 1000;
	}
	if (starttime === 0) {
		setTimeout(findangle,delay);
		delay = 4;
	}
}

findangle();


Всем кто отписался спасибо!!!
.
JohnCMS
https://masteram.us/down/file/2885
.
Jesk, спасибо, но готовое меня ещё изначально не интересовало =)
Всего: 25