Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.11.2017, 14:19
Аспирант
Отправить личное сообщение для INSIDER73 Посмотреть профиль Найти все сообщения от INSIDER73
 
Регистрация: 12.01.2017
Сообщений: 48

Не могу разобраться со скриптом.
На сайте convead который предоставляет для сайтов разные всплывашки и тд есть всплывашка с барабаном,ее можно посмотреть в предпросмотре,например вот http://demo6.promo-z.ru/?convead_pre...riant_id=27172 ,я хочу сделать такой же себе,но не могу понять как работают скрипты у них
Вот скрипт который отвечает за прокрутку барабана как я понял
var points = 12; // кол-во делений на окружности
  var time = 5000; // время анимации
  var numSwing = 3; // обороты
  var degShift = 15; // сдвиг на центр сектора
  var classWWCurrent = 'cnv-f__wheel-cell_cursor_pointer';
  var classHidden = 'cnv-f__hidden';
  var classInvalid = 'convead_invalid';
  var currentPoint = Math.floor(Math.random() * (points));

  var elWW = document.getElementById('cnv-f-wheel-wrap');
  var elW = document.getElementById('cnv-f-wheel');
  var elInput = document.getElementById('cnv-f-input');
  var elBtnRun = document.getElementById('cnv-f-btn-run');
  var elWin = document.getElementById('cnv-f-win');
  var elLose = document.getElementById('cnv-f-lose');
  var elBtnSubmit = document.getElementById('cnv-f-btn-submit');

  var deg = (currentPoint * (360 / points)) + (360 * numSwing) + degShift
  var isWin = (currentPoint % 2 == 0)
  var isStart = false;

  var run = function(event) {
    if (event.target) self = event.target;
    else self = event;
    workarea_el = ConveadClient.Helpers.selector_closest(self, '.cnv-widget_workarea');
    validator = new ConveadLib.SimpleValidation(workarea_el)

    if (!validator.valid()) return false;

    if (isStart) return false;
    isStart = true;

    ConveadClient.Helpers.remove_class(elWW, classWWCurrent);
    ConveadClient.Helpers.animate_prop({
      el: elW,
      prop: 'transform',
      cssFunction: 'rotate',
      dimension: 'deg',
      start: 0,
      end: deg,
      duration: time,
      delta: 'easeOutQuart',
      complete: function() {
        if (isWin) {
          ConveadClient.Helpers.add_class(elLose, classHidden);
          convead('event', 'custom', {key: 'roulette_win'}, {email: elInput.value});
        }
        else {
          ConveadClient.Helpers.add_class(elWin, classHidden);
        }
        elBtnSubmit.click();
      }
    });
  }
  ConveadDOMEvent.add(elInput, 'keydown', function(event) {
    if (event.keyCode === 13) {
      run(event);
      event.preventDefault();
      event.stopPropagation();
    }
  });
  ConveadDOMEvent.add(elWW, 'click', function(event) {
    run(event);
    event.preventDefault();
    event.stopPropagation();
  });
  ConveadDOMEvent.add(elBtnRun, 'click', function(event) {
    run(event);
    event.preventDefault();
    event.stopPropagation();
  });
}).call();


Но он отправляет какие то ConveadDOMEvent ,ConveadClient ... и отправляет похоже в скомбинированный файл widget-b32f...который лежит в source как сделать проще?при нажатии на кнопку барабан крутится и у него есть только 2 варианта ,либо выиграл либо нет
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не могу разобраться с валидатором форм ПавелСедой Общие вопросы Javascript 4 14.02.2017 18:22
Не могу разобраться со скриптом для гугл таблицы. Помогите пожалуйста! sannick Элементы интерфейса 0 17.12.2016 02:29
Не могу разобраться со скриптом 7even Events/DOM/Window 0 19.05.2014 11:03
Не могу разобраться с двумерным массивом pro_xaoc jQuery 6 10.06.2012 12:11
Помогите разобраться со скриптом alinastil Элементы интерфейса 1 02.04.2011 18:41