! . . Album Hình . . !

Tìm kiếm Những Gì Bạn Thích !

11 tháng 5, 2023

Javascript hàm quay vòng may mắn chuẩn

let timeOfTempRun = 0,

minimizeRun = 1,

winResult = null;

// gọi chạy khi click

run(function () {

runSlowToStop(winResult);

});

// Hàm chạy đệ quy khi nào có result sẽ dừng  

function run(callback) {

runWheel360(function () {

  timeOfTempRun++;

  if (winResult != null && timeOfTempRun >= minimizeRun) callback();

  else run(callback);

});

}   

// chạy theo 1 vòng 360

function runWheel360(callback) {

angle += 3600;

g.animate(

  {

transform: "r" + angle + "," + cx + "," + cy,

  },

  (3600 * 1000) / 360,

  mina.linear,

  function () {

if (angle % 360 == 0) {

  console.log(`Vòng thứ ${timeOfTempRun + 1}`);

  callback();

} else {

  runWheel360(callback);

}

  }

);

}

// Quay tới kết quả của vòng

function runSlowToStop(winResult) {

const productId = _.get(winResult, "id");

// log spin data

$.ajax({

  url: `${baseURL}/api/services/app/externals/spinData`,

  type: "POST",

  data: JSON.stringify(products),

  contentType: "application/json-patch+json",

  dataType: "json",

  headers: defaultHeader,

  async: true,

  success: function (sp) {},

  error: function (httpRequest, textStatus, errorThrown) {},

});


var winProductIndex = _.findIndex(products, (item) => {

  return item.id == productId;

});

if (winProductIndex < 0) {

  showMessage(

"Kết quả quay thưởng không phù hợp!",

"success",

"result-prize"

  );

  pauseAudio();

  return;

}

var angleOfWinProduct =

  winProductIndex * actual_angle + 270 + actual_angle / 2;

var newAngle = angleOfWinProduct + angle;


g.animate(

  {

transform: "r" + newAngle + "," + cx + "," + cy,

  },

  2000,

  mina.linear,

  function () {

let textStop = _.get(winResult, "contentName");

let thumbnailRewardUrl = _.get(

  winResult,

  "thumbnailRewardUrl",

  "opened.png"

);

let isGoodLuck = _.get(winResult, "isGoodLuck", true);

$("#messageModal .modal-body").css({

  background: `url("${thumbnailRewardUrl}") center center no-repeat`,

  backgroundSize: "cover",

});


$("#customerName").text(dataFromApp["customerName"]);

$("#customerPhone").text(dataFromApp["customerPhone"]);

const prizeName =

  isGoodLuck == true

? `Chúc mừng bạn đã trúng ${textStop}`

: `Chúc mừng bạn đã trúng sản phẩm ${textStop}`;

showMessage(prizeName, "success", "result-prize win");

g.stop();

pauseAudio();

  }

);

}

Hướng dẫn đăng nhận xét của bạn

  • Nếu muốn đăng nhận xét của mình các bạn click vào "Xem và nhận xét ở đây" dưới mỗi bài đăng, sau đó hộp thoại xuất hiện bạn gõ vào những nhận xét của mình. thế là xong! cảm ơn các bạn đã ghé thăm blog của mình !