1let jackpotCountHtml = document.getElementById("jackpot-count"); 2 3let jackpotCount = parseFloat(jackpotCountHtml.innerHTML); 4 5function getRandomInt(min, max) { 6 min = Math.ceil(min); 7 max = Math.floor(max); 8 return Math.floor(Math.random() * (max - min) + min); //The maximum is exclusive and the minimum is inclusive 9} 10 11async function animateValue(multiplier) { 12 const obj = document.getElementById("jackpot-text"); 13 const currentString = obj.innerHTML.split("IDR ")[1]; 14 15 const current = parseInt(currentString.replaceAll(",", ""), 10); 16 17 let start = current; 18 const end = parseInt(current + jackpotCount * multiplier, 10); 19 20 const stepArray = []; 21 22 const step = 25; 23 const ms = 40; 24 25 for (let i = 0; i < step; i++) { 26 start += (end - start) / step; 27 stepArray[i] = parseInt(start, 10); 28 } 29 30 // const functional_target = "jackpot-text"; 31 for (let i = 0; i < step; i++) { 32 setTimeout(function () { 33 AMP.setState({ 34 jackpotText: `IDR ${stepArray[i].toLocaleString("en-US")}`, 35 }); 36 }, (i + 1) * ms); 37 } 38 // Placing the final value 39 setTimeout(function () { 40 AMP.setState({ 41 jackpotText: `IDR ${end.toLocaleString("en-US")}`, 42 }); 43 }, step * ms); 44} 45 46function exec() { 47 const rand = getRandomInt(1000, 5000); 48 setInterval(async () => { 49 await animateValue(rand / 1000); 50 }, rand * 2.3); 51} 52 53exec();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.