本篇文章写的是一个电影院的选座与页面跳转系统,因为时间仓促,只写了 3号厅的选座系统,后期有时间会写一个完整的功能更完备的电影院系统。
本项目完全使用原生JS实现,共有下列功能:两种座位价格 22 元 和 23元,包场功能,清空已选座位功能,点击支付后会将总价格传入付款界面,数据在页面间传递使用的是 JS 的本地存储 .......
效果展示:
主页面:
选座页面:
开始选座:
包场:
页面跳转:
代码分析:第一个页面(选座界面)
第一个页面获取到的元素:
两个价位座位的点击事件:
全选按钮的点击全选事件:
清除按钮的清除已选事件:
支付按钮的支付提交事件:
关闭按钮与选座按钮的点击事件:
代码分析:第二个页面(付款界面)
第二个页面的元素获取:
获取第一个页面传来的价格:
点击付款方式切换二维码:
返回第一个页面:
选座界面完整代码:
付款界面完整代码:
点击选座后即可弹出选座框进入选座
座位价格分为两种,红色的为 22元,黑色的为 32元,选择后支付按钮会变为对应价格,点击清除按钮后会将已选座位清除,也可以点击选过的位置来清除某个座位
点击包场按钮后会选上所有的座位,再点即可取消全选,点击清除按钮后会将已选座位清除
点击支付后会等待五秒再进入付款界面,方便人们打开手机准备好付款,更加人性化的设计往往更能融入社会
五秒后便会跳转到第二个付款页面,并且要支付的价格会传入这个页面( localStroage ),此页面也可以点击返回返回到首页,这个页面还可以进行三种支付方式的点击切换,更能融入更多人
以上就是此案例的全部页面展示
var set22=document.querySelector('.set').querySelectorAll('.price22'); //22元的座位
var set32=document.querySelector('.set').querySelectorAll('.price32'); //32元的座位
var btn_buy=document.querySelector('.buy'); //支付按钮
var btn_all=document.querySelector('.all'); //全选按钮
var btn_clear=document.querySelector('.clear'); //清除按钮
var btn_close=document.querySelector('.close'); //关闭按钮
var outbox=document.querySelector('.outbox') //获取到整个大盒子,包括选座框和关闭按钮
var a=document.querySelector('a'); //跳转的页面链接
var mask=document.querySelector('.mask'); //遮盖层(点击后半透明度遮盖全页面)
var btn_select=document.querySelector('.select'); //首页选择按钮
for(var i=0;i0){
nums=num22+num32
price=num22*22+num32*32
btn_buy.innerHTML='您已选择了'+ nums +'个座位,共'+ price +'元'
btn_buy.className='buy current'
}
else if(num22+num32==0){
btn_buy.innerHTML='支付'
}
})
}
for(var i=0;i0){
nums=num22+num32
price=num22*22+num32*32
btn_buy.innerHTML='您已选择了'+ nums +'个座位,共'+price+'元'
btn_buy.className='buy current'
}
else if(num22+num32==0){
btn_buy.innerHTML='支付'
}
})
}
flag=0
btn_all.addEventListener('click',function(){
if(flag==0){
for(var i=0;i
btn_clear.addEventListener('click',function(){
for(var i=0;i
btn_buy.addEventListener('click',function(){
btn_buy.disabled='true'
if(num22+num32>0){
var time=5
var timer=window.setInterval(function(){
if(time==0){
clearInterval(timer)
btn_buy.innerHTML='支付'
time=5
for(var i=0;i
btn_close.addEventListener('click',function(){
btn_close.click()
outbox.style.display='none'
mask.style.display='none'
})
btn_select.addEventListener('click',function(){
outbox.style.display='block'
mask.style.display='block'
})
var jiaqian=document.querySelector('.jiaqian'); //价格显示的位置
var btns=document.querySelectorAll('button') //三个付款方式按钮
var lis=document.querySelectorAll('li') //三个付款码图片
var btn_fanhui=document.querySelector('.fanhui') //返回键
var a=document.querySelector('a') //跳转至第一个页面
使用了 localStorage 本地存储
price=window.localStorage.getItem('price3')
使用 自定义属性
for(var i=0;i
btn_fanhui.addEventListener('click',function(){
a.click()
})
( 图片请自己添加 ! ! ! )
电影票选座页面
欢迎您光顾万达影城三号厅
x
万达影城 3号厅
22元
32元
✔
已选
电影票支付
感谢您的购买
请您支付
元
-
-
-