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 arguments对象应用介绍
Nov 28 Javascript
jQuery实现Meizu魅族官方网站的导航菜单效果
Sep 14 Javascript
今天抽时间给大家整理jquery和ajax的相关知识
Nov 17 Javascript
有关easyui-layout中的收缩层无法显示标题的解决办法
May 10 Javascript
js阻止默认浏览器行为与冒泡行为的实现代码
May 15 Javascript
JavaScript实现星级评分
Jan 12 Javascript
如何用input标签和jquery实现多图片的上传和回显功能
May 16 jQuery
JavaScript中Array方法你该知道的正确打开方法
Sep 11 Javascript
C#程序员入门学习微信小程序的笔记
Mar 05 Javascript
一些手写JavaScript常用的函数汇总
Apr 16 Javascript
JavaScript 函数用法详解【函数定义、参数、绑定、作用域、闭包等】
May 12 Javascript
vue使用canvas实现移动端手写签名
Sep 22 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 ajax 分页类代码
2008/11/13 PHP
ThinkPHP提示错误Fatal error: Allowed memory size的解决方法
2015/02/12 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
利用PHP命令行模式采集股票趋势信息
2016/08/09 PHP
yii2-GridView在开发中常用的功能及技巧总结
2017/01/07 PHP
jQuery DIV弹出效果实现代码
2009/07/03 Javascript
javascript的offset、client、scroll使用方法详解
2012/12/25 Javascript
javascript实现tabs选项卡切换效果(扩展版)
2013/03/19 Javascript
input链接页面、打开新网页等等的具体实现
2013/12/30 Javascript
jQuery模拟点击A标记示例参考
2014/04/17 Javascript
判断复选框是否被选中的两种方法
2014/06/04 Javascript
JQuery判断radio是否选中并获取选中值的示例代码
2014/10/17 Javascript
实例分析js和C#中使用正则表达式匹配a标签
2014/11/26 Javascript
基于jQuery+JSON的省市二三级联动效果
2015/06/05 Javascript
JS简单限制textarea内输入字符数量的方法
2015/10/14 Javascript
js 截取或者替换字符串中的数字实现方法
2016/06/13 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
jQuery实现的placeholder效果完整实例
2016/08/02 Javascript
jquery实现下拉框左右选择功能
2017/02/21 Javascript
微信小程序导航栏滑动定位功能示例(实现CSS3的positionsticky效果)
2019/01/24 Javascript
使用ESLint禁止项目导入特定模块的方法步骤
2019/03/04 Javascript
vue element自定义表单验证请求后端接口验证
2019/12/11 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
原生JavaScript实现随机点名表
2021/01/14 Javascript
Python中的ConfigParser模块使用详解
2015/05/04 Python
简单掌握Python的Collections模块中counter结构的用法
2016/07/07 Python
python3 pandas 读取MySQL数据和插入的实例
2018/04/20 Python
解决Django migrate No changes detected 不能创建表的问题
2018/05/27 Python
python中设置超时跳过,超时退出的方式
2019/12/13 Python
动态设置django的model field的默认值操作步骤
2020/03/30 Python
基于css3实现漂亮便签样式
2013/03/18 HTML / CSS
什么是.net
2015/08/03 面试题
劳动工资科岗位职责范本
2014/03/02 职场文书
党员对照检查材料思想汇报
2014/09/16 职场文书
幼儿园教师个人总结
2015/02/05 职场文书
大学生自我推荐信范文
2015/03/24 职场文书