用html css js写一个二维码支付和支付成功自动返回
时间: 2023-12-24 10:06:10 浏览: 118
html js生成二维码
以下是一个简单的 HTML、CSS、JavaScript 实现的二维码支付和支付成功自动返回的示例:
```html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>二维码支付</title>
<style>
body {
margin: 0;
padding: 0;
background-color: #f6f6f6;
font-family: Arial, sans-serif;
}
.container {
max-width: 600px;
margin: 0 auto;
padding: 20px;
background-color: #fff;
box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
text-align: center;
}
h1 {
font-size: 36px;
color: #333;
}
p {
font-size: 18px;
color: #666;
line-height: 1.5;
margin-top: 20px;
}
.qrcode {
margin-top: 50px;
}
.success {
display: none;
}
.success.show {
display: block;
}
.success h2 {
font-size: 36px;
color: #4CAF50;
}
.success p {
font-size: 18px;
color: #666;
line-height: 1.5;
margin-top: 20px;
}
</style>
</head>
<body>
<div class="container">
<div class="qrcode">
<h1>扫描二维码付款</h1>
<p>请使用支付宝或微信扫描下面的二维码进行支付。</p>
<img src="https://placehold.it/300x300" alt="二维码" />
</div>
<div class="success">
<h2>支付成功!</h2>
<p>您已成功支付了<span id="amount">100</span>元。</p>
<p>页面将在<span id="countdown">3</span>秒后自动返回。</p>
</div>
</div>
<script>
// 延时函数
function delay(time) {
return new Promise(resolve => setTimeout(resolve, time));
}
// 显示支付成功界面
function showSuccess(amount) {
// 隐藏二维码支付界面
document.querySelector('.qrcode').style.display = 'none';
// 显示支付成功界面
document.querySelector('.success').classList.add('show');
// 修改金额显示
document.querySelector('#amount').textContent = amount;
// 倒计时跳转
let countdown = document.querySelector('#countdown');
let seconds = parseInt(countdown.textContent);
let timer = setInterval(() => {
seconds--;
countdown.textContent = seconds;
if (seconds === 0) {
clearInterval(timer);
window.location.href = 'https://www.example.com';
}
}, 1000);
}
// 模拟支付成功
setTimeout(() => {
showSuccess(100);
}, 3000);
</script>
</body>
</html>
```
这个示例中,使用了一个容器(`<div class="container">`)来包含页面内容,并设置了一些基本样式。页面包含两个部分:二维码支付界面(`<div class="qrcode">`)和支付成功界面(`<div class="success">`),其中支付成功界面的显示状态初始为隐藏(`display: none;`)。
在 JavaScript 部分,使用了一个 `delay` 函数来模拟支付过程的延时。在 `showSuccess` 函数中,先隐藏二维码支付界面,然后显示支付成功界面,并修改金额显示。最后使用 `setInterval` 定时器实现倒计时跳转,3 秒后自动返回到网站首页。在示例中,我使用了一个 `setTimeout` 函数来模拟支付成功后的延时,实际上你需要将这部分代码替换为真正的支付接口调用。
阅读全文