亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

基于jquery實現在線選座訂座之影院篇

2019-11-20 11:43:50
字體:
來源:轉載
供稿:網友

先給大家展示效果圖(支持源碼下載哦):

查看演示          源碼下載

我們在線購票時(如電影票、車票等)可以自己選座。開發者會在頁面上列出座次席位,用戶可以一目了然的看到可以選擇的座位及支付。本文以電影院購票為例,為您展示如何選座、處理選座數據等。

在這里,我給大家介紹一款基于jQuery的在線選座插件:jQuery Seat Charts,它支持自定義座位類型和價格,支持自定義樣式,支持設置不可選的座位,也支持鍵盤控制座位。

HTML

我們假設進入電影《星際穿越》的選座頁面,頁面布局請看上面的大圖,頁面左邊將在#seat-map中顯示影院的座位布局圖,右側#booking-details顯示影片相關信息以及選中的座位信息#selected-seats和票價金額信息,選擇座位后確認到支付頁面完成支付。

<div class="demo">  <div id="seat-map">  <div class="front">屏幕</div>    </div>  <div class="booking-details">  <p>影片:<span>星際穿越3D</span></p>  <p>時間:<span>11月14日 21:00</span></p>  <p>座位:</p>  <ul id="selected-seats"></ul>  <p>票數:<span id="counter">0</span></p>  <p>總計:<b>¥<span id="total">0</span></b></p>  <button class="checkout-button">確定購買</button>  <div id="legend"></div>  </div> </div> 

CSS

使用CSS將頁面中的各個元素美化,尤其是座位列表布局,為座位狀態(已售出、可選座位、已選座位等)設置不同的樣式,我們已經整理好CSS代碼,當然你可以根據自己項目頁面風格自己修改任意CSS代碼。

.front{width: 300px;margin: 5px 32px 45px 32px;background-color: #f0f0f0; color: #666;text-align: center;padding: 3px;border-radius: 5px;} .booking-details {float: right;position: relative;width:200px;height: 450px; } .booking-details h3 {margin: 5px 5px 0 0;font-size: 16px;} .booking-details p{line-height:26px; font-size:16px; color:#999} .booking-details p span{color:#666} div.seatCharts-cell {color: #182C4E;height: 25px;width: 25px;line-height: 25px;margin: 3px;float: left;text-align: center;outline: none;font-size: 13px;} div.seatCharts-seat {color: #fff;cursor: pointer;-webkit-border-radius:5px;-moz-border-radius:5px;border-radius: 5px;} div.seatCharts-row {height: 35px;} div.seatCharts-seat.available {background-color: #B9DEA0;} div.seatCharts-seat.focused {background-color: #76B474;border: none;} div.seatCharts-seat.selected {background-color: #E6CAC4;} div.seatCharts-seat.unavailable {background-color: #472B34;cursor: not-allowed;} div.seatCharts-container {border-right: 1px dotted #adadad;width: 400px;padding: 20px;float: left;} div.seatCharts-legend {padding-left: 0px;position: absolute;bottom: 16px;} ul.seatCharts-legendList {padding-left: 0px;} .seatCharts-legendItem{float:left; width:90px;margin-top: 10px;line-height: 2;} span.seatCharts-legendDescription {margin-left: 5px;line-height: 30px;} .checkout-button {display: block;width:80px; height:24px; line-height:20px;margin: 10px auto;border:1px solid #999;font-size: 14px; cursor:pointer} #selected-seats {max-height: 150px;overflow-y: auto;overflow-x: none;width: 200px;} #selected-seats li{float:left; width:72px; height:26px; line-height:26px; border:1px solid #d3d3d3; background:#f7f7f7; margin:6px; font-size:14px; font-weight:bold; text-align:center}

jQuery

本實例基于jQuery,所以別忘了要先加載jquery庫和選座插件:jQuery Seat Charts。

<script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="jquery.seat-charts.min.js"></script> 

接下來我們定義好諸如票價,座位區,票數,總計金額之類的元素,然后調用插件:$('#seat-map').seatCharts()。

我們先設置好座位圖,一個放映廳的座位是固定好的。在本例中,第三排是過道,以及三四排的右側空位是出口,最后一排我們設置了情侶座,那么放映廳的布局是這樣的:

aaaaaaaaaa
aaaaaaaaaa
__________
aaaaaaaa__
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aaaaaaaaaa
aa__aa__aa

我們用字母a表示座位,用符號_表示空的,即沒有座位,當然你也可以用a,b,c等代表不同等級的座位。

然后定義圖例樣式,關鍵是偵探點擊事件click():用戶點擊座位時,如果座位狀態為可選(available),那么點擊座位后,將座位信息(幾排幾座)加入到右側的已選座列表中,并計算總票數和總金額;如果座位狀態為已選中(selected),那么再次點擊座位后,則會將已選中的座位信息從右側的座位列表中刪除,并將狀態設置可選;如果座位狀態為已售出(unavailable),則不可點擊座位。最后使用get()方法將已售出的座位號狀態設置為已售出。

以下是詳細代碼:

var price = 80; //票價 $(document).ready(function() {  var $cart = $('#selected-seats'), //座位區  $counter = $('#counter'), //票數  $total = $('#total'); //總計金額  var sc = $('#seat-map').seatCharts({  map: [ //座位圖   'aaaaaaaaaa',   'aaaaaaaaaa',   '__________',   'aaaaaaaa__',   'aaaaaaaaaa',   'aaaaaaaaaa',   'aaaaaaaaaa',   'aaaaaaaaaa',   'aaaaaaaaaa',   'aa__aa__aa'  ],  legend : { //定義圖例   node : $('#legend'),   items : [   [ 'a', 'available', '可選座' ],   [ 'a', 'unavailable', '已售出']   ]    },  click: function () { //點擊事件   if (this.status() == 'available') { //可選座   $('<li>'+(this.settings.row+1)+'排'+this.settings.label+'座</li>')    .attr('id', 'cart-item-'+this.settings.id)    .data('seatId', this.settings.id)    .appendTo($cart);   $counter.text(sc.find('selected').length+1);   $total.text(recalculateTotal(sc)+price);   return 'selected';   } else if (this.status() == 'selected') { //已選中   //更新數量   $counter.text(sc.find('selected').length-1);   //更新總計   $total.text(recalculateTotal(sc)-price);   //刪除已預訂座位   $('#cart-item-'+this.settings.id).remove();   //可選座   return 'available';   } else if (this.status() == 'unavailable') { //已售出   return 'unavailable';   } else {   return this.style();   }  }  });  //已售出的座位  sc.get(['1_2', '4_4','4_5','6_6','6_7','8_5','8_6','8_7','8_8', '10_1', '10_2']).status('unavailable'); }); //計算總金額 function recalculateTotal(sc) {  var total = 0;  sc.find('selected').each(function () {  total += price;  });  return total; }

說明

jQuery Seat Charts插件提供了多個選項設置和方法調用,具體可參照項目官網:

https://github.com/mateuszmarkowski/jQuery-Seat-Charts。

以上代碼使用jquery實現在線選座訂座之影院篇,希望大家喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
中文字幕久久久| 日韩中文字幕在线观看| 日本一区二三区好的精华液| 国产成人精品在线视频| 欧美日韩国产123| 日本精品一区二区三区在线播放视频| 日韩av一区在线观看| 美日韩精品免费视频| 亚洲欧美精品在线| 亚洲国产天堂网精品网站| 国产精品6699| 精品激情国产视频| 91久久国产综合久久91精品网站| 亚洲成人三级在线| 国产日产欧美精品| 欧美日韩精品在线观看| 日韩欧中文字幕| 日韩毛片在线看| 狠狠躁夜夜躁人人爽天天天天97| 中日韩午夜理伦电影免费| 日日狠狠久久偷偷四色综合免费| 国产精品久久91| 欧美一级电影免费在线观看| 最近2019中文字幕第三页视频| 欧美洲成人男女午夜视频| 色无极亚洲影院| 亚洲第一综合天堂另类专| 精品久久久久久亚洲国产300| 久久影视免费观看| 黑人巨大精品欧美一区二区免费| 国产欧美一区二区三区久久| 午夜精品一区二区三区在线视| 亚洲国产精品高清久久久| 国产精品久久久久久亚洲影视| 原创国产精品91| 亚洲男人av在线| 国产一区二区三区久久精品| 成人有码在线视频| 1769国内精品视频在线播放| 7777kkkk成人观看| 中文.日本.精品| 日韩精品高清在线观看| 亚洲欧洲激情在线| 日韩欧美在线中文字幕| 91午夜在线播放| 亚洲天堂av女优| 亚洲精品720p| 日韩电影视频免费| 亚洲欧美国产日韩天堂区| 欧美日韩色婷婷| 91伊人影院在线播放| 91精品国产91久久久久福利| 欧美激情奇米色| 中文字幕亚洲欧美在线| 精品毛片三在线观看| 久久久久久91| 国产美女久久久| 日韩不卡中文字幕| 国产一区二区三区视频在线观看| 2019精品视频| 亚洲偷欧美偷国内偷| 成人性教育视频在线观看| 欧美激情免费视频| 91精品中文在线| 日韩精品视频三区| 欧美激情区在线播放| 2021久久精品国产99国产精品| 色综合久久中文字幕综合网小说| 欧美精品中文字幕一区| 91色p视频在线| 欧美电影免费观看电视剧大全| 日本精品视频网站| 亚州欧美日韩中文视频| 亚洲一区二区三区四区在线播放| 色综合伊人色综合网| 亚洲国产婷婷香蕉久久久久久| 5566日本婷婷色中文字幕97| 国产视频精品一区二区三区| 久久成人国产精品| 日韩影视在线观看| 午夜精品久久17c| 国内免费精品永久在线视频| 色播久久人人爽人人爽人人片视av| 亚洲品质视频自拍网| 国产精品黄页免费高清在线观看| 久久天天躁狠狠躁老女人| 97精品免费视频| 69av在线视频| 国产不卡av在线免费观看| 欧美亚洲另类视频| 国产精品盗摄久久久| 国产亚洲人成网站在线观看| 亚洲成人999| 亚洲人成网站免费播放| 久久69精品久久久久久久电影好| 国产精品一区二区三区久久| 亚洲精品视频中文字幕| 成人黄色网免费| 久久成人在线视频| 日韩电影中文 亚洲精品乱码| 国产精品久久久久av免费| 亚洲欧美激情四射在线日| 欧美成人精品在线播放| 最新国产精品拍自在线播放| 久久久久久国产精品美女| 国产精品揄拍500视频| 欧美性高跟鞋xxxxhd| 91情侣偷在线精品国产| 国模视频一区二区三区| 欧美日韩免费在线观看| 美女黄色丝袜一区| 欧美精品亚州精品| 成人亚洲综合色就1024| 中文字幕久久亚洲| 77777亚洲午夜久久多人| 福利视频第一区| 九九热r在线视频精品| 国产成人一区二区三区电影| 亚洲精品短视频| 中文字幕欧美精品在线| 欧美电影在线观看完整版| 午夜精品国产精品大乳美女| 美日韩精品免费视频| 久久综合伊人77777尤物| 久久九九亚洲综合| 热久久视久久精品18亚洲精品| 欧美精品一区三区| www.99久久热国产日韩欧美.com| 国产97在线亚洲| 中文字幕亚洲综合久久筱田步美| 亚洲精品欧美日韩| 4444欧美成人kkkk| 国产69精品99久久久久久宅男| 高清亚洲成在人网站天堂| 亚洲国产日韩欧美在线动漫| 国产视频丨精品|在线观看| 日韩精品免费在线视频观看| 日韩精品极品在线观看播放免费视频| 日韩一区在线视频| 久久精品久久久久久| 97色在线播放视频| 黄色一区二区在线| 欧美日韩亚洲91| 亚洲欧美福利视频| 亚洲国产精品99| 久久国产精品影视| 91干在线观看| 91精品视频大全| 欧美成人合集magnet| 精品视频一区在线视频| 日韩欧美主播在线| 亚洲毛片在线免费观看| 久久精品视频播放| 欧美精品午夜视频| 欧美日韩免费区域视频在线观看| 亚洲аv电影天堂网| 精品露脸国产偷人在视频| 成人国产精品日本在线| 久久久人成影片一区二区三区| 热99精品只有里视频精品| 91精品国产91久久久久久| 欧美日本在线视频中文字字幕| 亚洲老板91色精品久久| 91久久综合亚洲鲁鲁五月天|