仿真银行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();

相关文章
|
11月前
|
Web App开发 存储 数据处理
Chrome 下载大文件报错!用 Streamsaver.js 完美填坑
本文探讨了Chrome下载大文件报“网络错误”的原因及解决方案。由于Chrome对Blob数据有大小限制,导致大文件下载失败。通过将responseType改为ArrayBuffer可临时解决1-2G文件问题,但超3G仍会崩溃。最佳方案是使用Streamsaver.js实现流式下载,边接收边保存,避免内存溢出,完美支持超大文件下载。
5308 3
|
编解码 JavaScript 前端开发
如何在网页播放英文的m3u8文件(基于Javascript搭建的在线网页工具)
什么是m3u8?又该如何在网页中高效、便捷地播放英文的m3u8文件呢?今天这篇文章就带你一起了解,并推荐一种基于Javascript搭建的在线网页工具,让你轻松解决播放问题。
3800 0
|
人工智能 监控 前端开发
基于 Next.js 的书法字体生成工具架构设计与 SSR 优化实践
本项目是一款书法字体生成工具,采用 Next.js 14(App Router)与 Tailwind CSS 构建前端,阿里云 Serverless 部署后端。通过混合渲染策略(SSG/SSR/CSR)、Web Worker 异步计算及 CDN 字体分片加载优化性能。服务端借助阿里云函数计算处理计算密集型任务,将平均耗时从 1200ms 降至 280ms,支持 1000+ QPS。动态路由与 ARMS 监控提升工程化水平,未来计划引入 WebGPU 和 AI 字体风格迁移技术,进一步优化用户体验。
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的客户关系管理系统附带文章源码部署视频讲解等
525 2
|
JavaScript 前端开发
JavaScript中的原型 保姆级文章一文搞懂
本文详细解析了JavaScript中的原型概念,从构造函数、原型对象、`__proto__`属性、`constructor`属性到原型链,层层递进地解释了JavaScript如何通过原型实现继承机制。适合初学者深入理解JS面向对象编程的核心原理。
394 1
JavaScript中的原型 保姆级文章一文搞懂
JS+CSS3文章内容背景黑白切换源码
JS+CSS3文章内容背景黑白切换源码是一款基于JS+CSS3制作的简单网页文章文字内容背景颜色黑白切换效果。
269 0
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的小区物流配送系统附带文章源码部署视频讲解等
659 5
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的家政平台附带文章源码部署视频讲解等
499 4
|
JavaScript Java 测试技术
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
基于springboot+vue.js+uniapp的宠物援助平台附带文章源码部署视频讲解等
866 4