Всем здасьте, Пытаюсь написать скрипт рулетки. Ссылка на файлы
Затык в следующем - при нажатии на кнопку start запускается function updateNumber().
updateNumber() - должна переопределять значение литерала объектов
param1.stopImageNumber,
param2.stopImageNumber,
param3.stopImageNumber
Однако переопределения не происходит.
Подозреваю, что новые значения остаются в локальной области видимости.
Как переопределить значения литерала объектов
CODE ( javascript):
скопировать код в буфер обмена
$(function(){ // функция генерации случайного значения function randomInteger(min, max) { var rand = min - 0.5 + Math.random() * (max - min + 1); rand = Math.round(rand); return rand; } // задаём интервал для генерации случайного значения var numMin = 0; var numMax = 5; var win = true // переключатель возможности выигрыша var a; // функция генерации нового случайного значения stopImageNumber function updateNumber(){ if(win){// совпадения допускаются param1.stopImageNumber = randomInteger(numMin, numMax); param2.stopImageNumber = randomInteger(numMin, numMax); param3.stopImageNumber = randomInteger(numMin, numMax); } else{// совпадения НЕ допускаются param1.stopImageNumber = randomInteger(numMin, numMax); param2.stopImageNumber = randomInteger(numMin, numMax); param3.stopImageNumber = randomInteger(numMin, numMax); // в случае совпадения if(param2.stopImageNumber == param1.stopImageNumber && param2.stopImageNumber == param3.stopImageNumber){ param2.stopImageNumber = param1.stopImageNumber + 1; param3.stopImageNumber = param1.stopImageNumber - 1; } } } // задаём параметры 1-го слота var param1 = { speed : 5, duration : 1, stopImageNumber : a, startCallback : function() { $('.start').attr('disabled', 'true'); $('.stop').removeAttr('disabled'); }, slowDownCallback : function() { $('.stop').attr('disabled', 'true'); }, stopCallback : function($stopElm) { $('.start').removeAttr('disabled'); $('.stop').attr('disabled', 'true'); } } // задаём параметры 2-го слота var param2 = { speed : 10, duration : 2, stopImageNumber : a } // задаём параметры 3-го слота var param3 = { speed : 8, duration : 2, stopImageNumber : a } // применяем метод roulette() к слотам var rouletter1 = $('div.roulette-1'); rouletter1.roulette(param1); var rouletter2 = $('div.roulette-2'); rouletter2.roulette(param2); var rouletter3 = $('div.roulette-3'); rouletter3.roulette(param3); // обработчики кнопок $('.stop').click(function(){ rouletter1.roulette('stop'); rouletter2.roulette('stop'); rouletter3.roulette('stop'); }); $('.stop').attr('disabled', 'true'); $('.start').click(function(){ rouletter1.roulette('start'); rouletter2.roulette('start'); rouletter3.roulette('start'); updateNumber(); // запуск апдейта }); });
ссылка на все файлы
https://yadi[dot]sk/d/z-R27m_o38uHkT
|