Ваша функция scratchMove
должна иметь дополнительный параметр e
, который представляет событие перемещения мыши.Я думаю, что вы пропустили это из документации .Я только что проверил это локально, и это работает.
Кроме того, позаботьтесь о повторной инициализации переменной promoCode
в этом операторе if-else: var promoCode = '';
.Если бы изображения были другими, и промо-код был бы bg3
(что верно, поскольку bg1, bg2 и bg3 равны), это не сработало бы.
scratchMove: function (e, percent) {
console.log(percent);
if ((percent > 50) && (promoCode != '')) {
$('.promo-container').show();
$('body').removeClass('not-selectable');
$('.promo-code').html('Your code is: ' + promoCode);
}
}
Однако вы можете проверить этосами и посмотрите результаты:)
Приветствия!
Позднее редактирование:
Вы сказали, что это не работает ... но это работает оченьну даже онлайн.Пожалуйста, посмотрите на этот jsfiddle .Извините за длинный js-код в конце тела, но у меня не было другого варианта включить пользовательскую библиотеку.Я хотел сделать jsfiddle здесь или использовать ссылку на библиотеку, чтобы показать вам, что она работает, но я не нашел CDN lib для scratchPad, и StackOverflow не позволяет включать файлы js из github.
В любом случае, я рекомендую обратить внимание на этот раздел:
if (selectBG == bg1) {
promoCode = 'SCRATCH400';
} else if (selectBG == bg2) {
promoCode = 'SCRATCH500';
} if (selectBG == bg3) {
var promoCode = '';
}
Это было изменено мной:
if (selectBG === bg1) {
promoCode = 'SCRATCH400';
} else if (selectBG === bg2) {
promoCode = 'SCRATCH500';
} else if (selectBG === bg3) {
promoCode = '';
}
Я использовал 3 случайные картинки из Интернета.Также обратите внимание, что из-за условия if ((percent > 50) && (promoCode != ''))
, если сгенерированное изображение является третьим, ничего не появится.Зачем?Потому что вы устанавливаете promoCode
в пустую строку в приведенном выше операторе if-else.Я не знаю, это ваше поведение или нет.