前端项目 电影院选座付款系统 【原生 JS 实现 页面美观简洁】

       本篇文章写的是一个电影院的选座与页面跳转系统,因为时间仓促,只写了 3号厅的选座系统,后期有时间会写一个完整的功能更完备的电影院系统。

       本项目完全使用原生JS实现,共有下列功能:两种座位价格 22 元 和 23元,包场功能,清空已选座位功能,点击支付后会将总价格传入付款界面,数据在页面间传递使用的是 JS 的本地存储 .......

文章目录:

 效果展示:

主页面:

选座页面:

 开始选座:

 包场:

 页面跳转:

 代码分析:第一个页面(选座界面)

第一个页面获取到的元素:

两个价位座位的点击事件:

全选按钮的点击全选事件:

清除按钮的清除已选事件:

支付按钮的支付提交事件:

关闭按钮与选座按钮的点击事件:

 代码分析:第二个页面(付款界面)

第二个页面的元素获取:

获取第一个页面传来的价格:

点击付款方式切换二维码:

返回第一个页面:

选座界面完整代码:

付款界面完整代码:


效果展示:

主页面:

选座页面:

点击选座后即可弹出选座框进入选座

 开始选座:

座位价格分为两种,红色的为 22元,黑色的为 32元,选择后支付按钮会变为对应价格,点击清除按钮后会将已选座位清除,也可以点击选过的位置来清除某个座位

 包场:

点击包场按钮后会选上所有的座位,再点即可取消全选,点击清除按钮后会将已选座位清除

 页面跳转:

点击支付后会等待五秒再进入付款界面,方便人们打开手机准备好付款,更加人性化的设计往往更能融入社会

 五秒后便会跳转到第二个付款页面,并且要支付的价格会传入这个页面( localStroage ),此页面也可以点击返回返回到首页,这个页面还可以进行三种支付方式的点击切换,更能融入更多人

前端项目 电影院选座付款系统 【原生 JS 实现 页面美观简洁】_第1张图片

 以上就是此案例的全部页面展示


 代码分析:第一个页面(选座界面)

第一个页面获取到的元素:

      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元

已选

付款界面完整代码:




    
    
    
    电影票支付
    


    

感谢您的购买

请您支付 

 元

你可能感兴趣的:(JavaScript,jQuery,前端,开发语言,html,css3,javascript)