jQuery在线选座位插件seat-charts特效代码分享


Posted in Javascript onAugust 27, 2015

本文实例讲述了jQuery在线选座位插件seat-charts特效。分享给大家供大家参考。具体如下:
这是一款基于JQuery实现的在线选座位插件seat-charts源码,是一款适合机票,电影票,客车票选座的jquery.seat-charts插件。点击左侧的座位即可在右侧即时显示座位信息,并且可以有计算累加的功能。
特点:支持自定义座位类型和价格,支持自定义样式,支持设置不可选的座位,也支持键盘控制选座。
运行效果图:                     -------------------查看效果 下载源码-------------------

jQuery在线选座位插件seat-charts特效代码分享

小提示:浏览器中如果不能正常运行,可以尝试切换浏览模式。
为大家分享的jQuery在线选座位插件seat-charts特效代码如下

<!doctype html>
<html>
<head>
<title>jQuery在线选座位插件seat-charts</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" type="text/css" href="css/jquery.seat-charts.css">
<link rel="stylesheet" type="text/css" href="css/style.css">
</head>
<body>
<div class="wrapper">
 <div class="container">
 <div id="seat-map">
  <div class="front-indicator">机头</div>
 </div>
 <div class="booking-details">
  <h3>已选中的座位 (<span id="counter">0</span>):</h3>
  <ul id="selected-seats">
  </ul>
  <p>总价: <b>$<span id="total">0</span></b></p>
  <p><button class="checkout-button">结算</button></p>  
  <div id="legend"></div>
 </div>
 </div>
</div>
<script src="js/jquery-1.11.0.min.js"></script> 
<script src="js/jquery.seat-charts.min.js"></script> 
<script>
 var firstSeatLabel = 1;
 
 $(document).ready(function() {
 var $cart = $('#selected-seats'),
  $counter = $('#counter'),
  $total = $('#total'),
  sc = $('#seat-map').seatCharts({
  map: [
  'ff_ff',
  'ff_ff',
  'ee_ee',
  'ee_ee',
  'ee___',
  'ee_ee',
  'ee_ee',
  'ee_ee',
  'ee_ee',
  'eeeee',
  ],
  seats: {
  f: {
  price : 100,
  classes : 'first-class', //your custom CSS class
  category: '头等舱'
  },
  e: {
  price : 40,
  classes : 'economy-class', //your custom CSS class
  category: '经济舱'
  }  
  
  },
  naming : {
  top : false,
  getLabel : function (character, row, column) {
  return firstSeatLabel++;
  },
  },
  legend : {
  node : $('#legend'),
   items : [
  [ 'f', 'available', '头等舱' ],
  [ 'e', 'available', '经济舱'],
  [ 'f', 'unavailable', '已预定']
   ]  
  },
  click: function () {
  if (this.status() == 'available') {
  $('<li>'+this.data().category+this.settings.label+'号座位'+':<br/>价格:<b>$'+this.data().price+'</b> <a href="#" class="cancel-cart-item">[删除]</a></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)+this.data().price);
  
  return 'selected';
  } else if (this.status() == 'selected') {
  //update the counter
  $counter.text(sc.find('selected').length-1);
  //and total
  $total.text(recalculateTotal(sc)-this.data().price);
  
  //remove the item from our cart
  $('#cart-item-'+this.settings.id).remove();
  
  //seat has been vacated
  return 'available';
  } else if (this.status() == 'unavailable') {
  //seat has been already booked
  return 'unavailable';
  } else {
  return this.style();
  }
  }
 });

 //this will handle "[cancel]" link clicks
 $('#selected-seats').on('click', '.cancel-cart-item', function () {
  //let's just trigger Click event on the appropriate seat, so we don't have to repeat the logic here
  sc.get($(this).parents('li:first').data('seatId')).click();
 });

 //let's pretend some seats have already been booked
 sc.get(['1_2', '4_1', '7_1', '7_2']).status('unavailable');
 
 });

 function recalculateTotal(sc) {
 var total = 0;
 
 //basically find every selected seat and sum its price
 sc.find('selected').each(function () {
 total += this.data().price;
 });
 
 return total;
 }
 
 </script>
<div align="center" style="clear:both;font-size:12px;color:#666;font:normal 14px/24px 'MicroSoft YaHei';">
<p>适用浏览器:IE8、360、FireFox、Chrome、Safari、Opera、傲游、搜狗、世界之窗. </p>
</div>
</body>
</html>

以上就是为大家分享的jQuery在线选座位插件seat-charts特效代码,希望大家可以喜欢。

Javascript 相关文章推荐
简单纯js实现点击切换TAB标签实例
Aug 23 Javascript
Bootstarp风格的toggle效果分享
Feb 23 Javascript
JavaScript设计模式经典之命令模式
Feb 24 Javascript
javascript关于继承解析
May 10 Javascript
JavaScript实现横线提示输入验证码随输入验证码输入消失的方法
Sep 24 Javascript
Vue响应式原理详解
Apr 18 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
May 05 Javascript
Vue数据监听方法watch的使用
Mar 28 Javascript
微信小程序实现发红包功能
Jul 11 Javascript
Javascript格式化并高亮xml字符串的方法及注意事项
Aug 13 Javascript
vue进入页面时滚动条始终在底部代码实例
Mar 26 Javascript
Vue.js 中制作自定义选择组件的代码附演示demo
Feb 28 Javascript
js实现div拖动动画运行轨迹效果代码分享
Aug 27 #Javascript
js+div实现文字滚动和图片切换效果代码
Aug 27 #Javascript
javascript实现图片延迟加载方法汇总(三种方法)
Aug 27 #Javascript
json+jQuery实现的无限级树形菜单效果代码
Aug 27 #Javascript
jQuery on()方法示例及jquery on()方法的优点
Aug 27 #Javascript
js实现仿京东2级菜单效果(带延时功能)
Aug 27 #Javascript
jQuery UI设置固定日期选择特效代码分享
Aug 27 #Javascript
You might like
php 判断服务器操作系统的类型
2014/02/17 PHP
php生成随机字符串可指定纯数字、纯字母或者混合的
2014/04/18 PHP
php简单实现文件或图片强制下载的方法
2016/12/06 PHP
javascript中字符串的定义示例代码
2013/12/19 Javascript
js 显示base64编码的二进制流网页图片
2014/04/04 Javascript
javascript 控制input只允许输入的各种指定内容
2014/06/19 Javascript
jQuery实现复选框成对选择及对应取消的方法
2015/03/03 Javascript
JavaScript获取一个范围内日期的方法
2015/04/24 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
Angular.JS通过指令操作DOM的方法
2017/05/10 Javascript
jQuery Easyui Treegrid实现显示checkbox功能
2017/08/08 jQuery
Angular CLI 安装和使用教程
2017/09/13 Javascript
小程序实现锚点滑动效果
2019/09/23 Javascript
微信小程序跨页面传递data数据方法解析
2019/12/13 Javascript
Python数据分析之双色球统计两个红和蓝球哪组合比例高的方法
2018/02/03 Python
python实现在图片上画特定大小角度矩形框
2018/10/24 Python
pyqt5之将textBrowser的内容写入txt文档的方法
2019/06/21 Python
深入了解Python枚举类型的相关知识
2019/07/09 Python
Python super()方法原理详解
2020/03/31 Python
Python求解排列中的逆序数个数实例
2020/05/03 Python
python文件路径操作方法总结
2020/12/21 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
canvas 实现 github404动态效果的示例代码
2017/11/15 HTML / CSS
美国现代家具网站:Design Within Reach
2018/07/19 全球购物
长安大学毕业生自我鉴定
2014/01/17 职场文书
高二历史教学反思
2014/01/25 职场文书
小学竞选班长演讲稿
2014/09/09 职场文书
2014年大学生党员自我评议
2014/09/22 职场文书
签订劳动合同通知书
2015/04/16 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
收入证明范本
2015/06/12 职场文书
2016年国陪研修感言
2015/11/18 职场文书
大学生创业计划书
2019/06/24 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL
基于angular实现树形二级表格
2021/10/16 Javascript