仿真银行app下载安装, 银行卡虚拟余额制作app,用html+css+js实现逼真娱乐工具

简介: 这是一个简单的银行账户模拟器项目,用于学习前端开发基础。用户可进行存款、取款操作,所有数据存储于浏览器内存中

下载地址:https://www.pan38.com/share.php?code=bRtMK 提取码:8888【仅供学习参考用途】

这个教学项目仅模拟基本的账户操作界面,不生成任何真实金融凭证。建议学习正规的前端开发课程,如MDN Web Docs的JavaScript教程。所有数据仅存储在浏览器内存中,刷新页面即重置。

<!DOCTYPE html>








账户余额


¥ 0.00








ank-app {
max-width: 400px;
margin: 0 auto;
padding: 20px;
border: 1px solid #ddd;
border-radius: 10px;
text-align: center;
}
.balance {
font-size: 2em;
margin: 20px 0;
}
button {
padding: 10px 20px;
margin: 0 10px;
}

balance = 0;

function updateBalance() {
document.getElementById('balance').textContent = balance.toFixed(2);
}

function deposit() {
const amount = parseFloat(prompt("请输入存款金额"));
if(!isNaN(amount) && amount > 0) {
balance += amount;
updateBalance();
}
}

function withdraw() {
const amount = parseFloat(prompt("请输入取款金额"));
if(!isNaN(amount) && amount > 0 && amount <= balance) {
balance -= amount;
updateBalance();
}
}

class BankAccount {
constructor(name, accountNumber) {
this.name = name;
this.accountNumber = accountNumber;
this.balance = 0;
this.transactions = [];
}

deposit(amount) {
    if (amount <= 0 || isNaN(amount)) return false;

    this.balance += amount;
    this.transactions.push({
        type: '存款',
        amount: amount,
        date: new Date().toLocaleString()
    });
    return true;
}

withdraw(amount) {
    if (amount <= 0 || isNaN(amount) || amount > this.balance) return false;

    this.balance -= amount;
    this.transactions.push({
        type: '取款',
        amount: -amount,
        date: new Date().toLocaleString()
    });
    return true;
}

getFormattedBalance() {
    return `¥ ${this.balance.toFixed(2)}`;
}

}

// 初始化账户
const myAccount = new BankAccount('张三', '6225880012345678');

// DOM操作
function updateUI() {
document.getElementById('balance').textContent = myAccount.getFormattedBalance();
document.getElementById('account-name').textContent = myAccount.name;
document.getElementById('account-number').textContent = myAccount.accountNumber.replace(/(\d{4})(\d{4})(\d{4})(\d{4})/, '$1**$3$4');

const transactionsList = document.getElementById('transactions');
transactionsList.innerHTML = '';

myAccount.transactions.slice().reverse().forEach(transaction => {
    const li = document.createElement('li');
    li.innerHTML = `
        <span>${transaction.type}</span>
        <span style="color: ${transaction.amount > 0 ? 'green' : 'red'}">
            ${transaction.amount > 0 ? '+' : ''}${transaction.amount.toFixed(2)}
        </span>
        <small>${transaction.date}</small>
    `;
    transactionsList.appendChild(li);
});

}

// 事件监听
document.getElementById('deposit-btn').addEventListener('click', () => {
const amount = parseFloat(prompt('请输入存款金额:'));
if (myAccount.deposit(amount)) {
updateUI();
} else {
alert('存款失败,请输入有效金额');
}
});

document.getElementById('withdraw-btn').addEventListener('click', () => {
const amount = parseFloat(prompt('请输入取款金额:'));
if (myAccount.withdraw(amount)) {
updateUI();
} else {
alert('取款失败,余额不足或金额无效');
}
});

document.getElementById('transfer-btn').addEventListener('click', () => {
alert('转账功能将在后续版本实现');
});

// 初始加载
updateUI();

相关文章
|
6月前
|
Web App开发 存储 数据处理
Chrome 下载大文件报错!用 Streamsaver.js 完美填坑
本文探讨了Chrome下载大文件报“网络错误”的原因及解决方案。由于Chrome对Blob数据有大小限制,导致大文件下载失败。通过将responseType改为ArrayBuffer可临时解决1-2G文件问题,但超3G仍会崩溃。最佳方案是使用Streamsaver.js实现流式下载,边接收边保存,避免内存溢出,完美支持超大文件下载。
4291 3
|
10月前
|
缓存 监控 Android开发
App Trace 快速安装解析(开发者视角)
App Trace 是一款应用性能监控工具,可追踪启动时间、方法耗时及卡顿等指标,助力开发调试与性能优化。支持 Android 和 iOS 平台,提供依赖引入、初始化配置和自动化脚本等快速安装方案,同时包含采样率、本地缓存等高级配置选项。集成后可通过日志检查与测试事件验证功能,注意在发布版本中使用 no-op 版本以减少性能影响,并确保隐私合规。
|
10月前
|
监控 测试技术 Android开发
App Trace技术解析:传参安装、一键拉起与快速安装
本文从开发者视角解析App Trace技术的关键功能与实现方法,涵盖传参安装、一键拉起和快速安装技术。详细介绍了Android和iOS平台的具体实现代码与配置要点,探讨了参数丢失、跨平台一致性及iOS限制等技术挑战的解决方案,并提供了测试策略、监控指标和性能优化的最佳实践建议,帮助开发者提升用户获取效率与体验。
|
9月前
|
存储 人工智能 Android开发
为什么微信发送的APP安装不了,.apk转化为.apk.1
微信发送的APP文件常被改为.apk.1格式导致无法安装,推荐使用夸克或QQ浏览器解决。
1338 14
|
10月前
|
Java
四大银行虚拟仿真app,银行卡p图软件,银行转账截图生成器【jar实现仅供娱乐用途】
这是一款增强版银行系统程序,包含完整账户管理、交易记录、转账及账户流水查询功能。代码采用Java编写,通过`BankSystem`类实现账户创建与管理。
|
9月前
|
存储 移动开发 监控
App Trace功能实战:一键拉起、快速安装与免提写邀请码的应用实践
App Trace系统通过一键拉起、快速安装和免提写邀请码三大功能,显著提升用户转化率、安装成功率和邀请注册率。结合深度技术实现与优化,助力公司用户增长,成为移动端核心基础设施。
|
数据采集 JavaScript Android开发
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
623 7
【02】仿站技术之python技术,看完学会再也不用去购买收费工具了-本次找了小影-感觉页面很好看-本次是爬取vue需要用到Puppeteer库用node.js扒一个app下载落地页-包括安卓android下载(简单)-ios苹果plist下载(稍微麻烦一丢丢)-优雅草卓伊凡
|
数据采集 存储 调度
BeautifulSoup VS Scrapy:如何选择适合的HTML解析工具?
在Python网页抓取领域,BeautifulSoup和Scrapy是两款备受推崇的工具。BeautifulSoup易于上手、灵活性高,适合初学者和简单任务;Scrapy则是一个高效的爬虫框架,内置请求调度、数据存储等功能,适合大规模数据抓取和复杂逻辑处理。两者结合使用可以发挥各自优势,例如用Scrapy进行请求调度,用BeautifulSoup解析HTML。示例代码展示了如何在Scrapy中设置代理IP、User-Agent和Cookies,并使用BeautifulSoup解析响应内容。选择工具应根据项目需求,简单任务选BeautifulSoup,复杂任务选Scrapy。
414 1
BeautifulSoup VS Scrapy:如何选择适合的HTML解析工具?
|
JavaScript 前端开发
Node.js 中实现多任务下载的并发控制策略
Node.js 中实现多任务下载的并发控制策略
491 15

热门文章

最新文章

  • 1
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(九):强势分析Animation动画各类参数;从播放时间、播放方式、播放次数、播放方向、播放状态等多个方面,完全了解CSS3 Animation
    449
  • 2
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(八):学习transition过渡属性;本文学习property模拟、duration过渡时间指定、delay时间延迟 等多个参数
    350
  • 3
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(七):学习ransform属性;本文学习 rotate旋转、scale缩放、skew扭曲、tanslate移动、matrix矩阵 多个参数
    335
  • 4
    (CSS)使用Flex布局,帮助你快速了解各种基本的Flex布局属性以及帮你让元素快速达到布局中的指定位置!
    226
  • 5
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(六):全方面分析css的Flex布局,从纵、横两个坐标开始进行居中、两端等元素分布模式;刨析元素间隔、排序模式等
    449
  • 6
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(五):背景属性;float浮动和position定位;详细分析相对、绝对、固定三种定位方式;使用浮动并清除浮动副作用
    623
  • 7
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(四):元素盒子模型;详细分析边框属性、盒子外边距
    925
  • 8
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(三):元素继承关系、层叠样式规则、字体属性、文本属性;针对字体和文本作样式修改
    238
  • 9
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(二):CSS伪类:UI伪类、结构化伪类;通过伪类获得子元素的第n个元素;创建一个伪元素展示在页面中;获得最后一个元素;处理聚焦元素的样式
    757
  • 10
    【CSS】前端三大件之一,如何学好?从基本用法开始吧!(一):CSS发展史;CSS样式表的引入;CSS选择器使用,附带案例介绍
    417