zoukankan      html  css  js  c++  java
  • 分红包 小Demo

    <!DOCTYPE html>
    <html lang="en">
    <head>
    <meta charset="UTF-8">
    <title>分红包</title>
    <style>
    div{
    padding: 10px;
    }
    </style>
    </head>
    <body>
    <div><label>红包金额:<input type="text" id="account"></label></div>
    <div><label>红包数量:<input type="text" id="count"></label></div>
    <div><button id="start">随机生成</button></div>
    <ul id="result"></ul>
    </body>
    <script>
    const accountEl = document.getElementById('account');
    const countEl = document.getElementById('count');
    const btn = document.getElementById('start');
    const result = document.getElementById('result');
    function generate(account,count) {
    let ret = [account];
    while(count > 1){
    // 取最大的进行分割
    let cake = Math.max(...ret),
    idx = ret.indexOf(cake),
    part = 1 + Math.floor((cake / 2) * Math.random()),
    rest = cake - part;
    ret.splice(idx, 1, part, rest);
    count-- ;
    }
    return ret;
    }
    btn.onclick = function () {
    let account = Math.round(parseFloat(accountEl.value) * 100);
    let count = parseInt(countEl.value);
    let output = [];
    if(isNaN(account) || isNaN(count) || account <= 0 || count <= 0){
    output.push('格式不对');
    }else if(account < count){
    output.push('钱不够分')
    }else{
    output.push(...generate(account,count));
    output = output.map(m => (m / 100).toFixed(2));
    }
    result.innerHTML = `<li>
    ${output.join('</li><li>')}
    </li>`
    }
    </script>
    </html>
  • 相关阅读:
    微信小程序
    如何在微信小程序中使用骨架屏
    Nlog打印日志到Influxdb数据库
    C#通过模板导出Word的两种方法(超简单)
    VS2019制作的安装包,默认安装到C盘快捷方式无法打开
    orcale数据库还原备份
    Thread 类创建线程
    Quartz.NET
    DataTable ,使用详细。
    Unity3D 学习
  • 原文地址:https://www.cnblogs.com/QxkWeb/p/8036071.html
Copyright © 2011-2022 走看看