jQuery在线选座(影院版)

jQuery在线选座(影院版)

添加时间:2020-12-15 13:00:13
站长推荐丨赞助论坛,可获取海量资源终身免费下载权限奥!
举报 举报
收藏
预览
附件 附件
  • 模板类型模板类型:Ajax
  • 模板颜色模板颜色:中级
  • 下载积分下载积分:28 米粒
  • 下载权限下载权限:

    赞助会员

jquery.seat-charts是一款适合电影票、高铁票的在线选座插件,支持自定义样式,支持设置座位状态,并且支持键盘控制座位。
jQuery在线选座(影院版)
分类:其它特效 > Ajax 难易:中级

HTML

<div id="seat_area"> 
   <div class="front">
    屏幕
   </div> 
  </div> 
  <!--右边选座信息-----> 
  <div class="booking_area"> 
   <p>电影:<span>天将雄师</span></p> 
   <p>时间:<span>03月20日 22:15</span></p> 
   <p>座位:</p> 
   <ul id="seats_chose"></ul> 
   <p>票数:<span id="tickects_num">0</span></p> 
   <p>总价:<b>¥<span id="total_price">0</span></b></p> 
   <input type="button" class="btn" value="确定购买" /> 
   <div id="legend"></div> 
  </div>

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()。

var price = 100; //电影票价
$(document).ready(function() {
    var $cart = $('#seats_chose'),
    //座位区
    $tickects_num = $('#tickects_num'),
    //票数
    $total_price = $('#total_price'); //票价总额
    var sc = $('#seat_area').seatCharts({
        map: [ //座位结构图 a 代表座位; 下划线 "_" 代表过道
        'cccccccccc', 'cccccccccc', '__________', 'cccccccc__', 'cccccccccc', 'cccccccccc', 'cccccccccc', 'cccccccccc', 'cccccccccc', 'cc__cc__cc'],
        naming: { //设置行列等信息
            top: false,//不显示顶部横坐标(行) 
            getLabel: function(character, row, column) { //返回座位信息 
                return column;
            }
        },
        legend: { //定义图例
            node: $('#legend'),
            items: [['c', 'available', '可选座'], ['c', '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);

                $tickects_num.text(sc.find('selected').length + 1); //统计选票数量
                $total_price.text(getTotalPrice(sc) + price); //计算票价总金额
                return 'selected';
            } else if (this.status() == 'selected') { //若为选中状态
                $tickects_num.text(sc.find('selected').length - 1); //更新票数量
                $total_price.text(getTotalPrice(sc) - price); //更新票价总金额
                $('#cart-item-' + this.settings.id).remove(); //删除已预订座位
                return 'available';
            } else if (this.status() == 'unavailable') { //若为已售出状态
                return 'unavailable';
            } else {
                return this.style();
            }
        }
    });

    //设置已售出的座位
    sc.get(['1_3', '1_4', '4_4', '4_5', '4_6', '4_7', '4_8']).status('unavailable');
});

function getTotalPrice(sc) { //计算票价总额
    var total = 0;
    sc.find('selected').each(function() {
        total += price;
    });
    return total;
}
相关内容推荐
资源求助发帖
查看更多发帖

*

回帖描述:

*

链接类型:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
热点内容推荐
标题:jQuery在线选座(影院版)

*

描述:
平均回复时间:3-10分钟
规则介绍:悬赏寻求论坛网友分享资源,站点对分享内容的准确性,合法性,版权等没有足够的监管能力。如果您发现资源不正确,无法使用,不符合法律法律等情况,您可以直接举报资源。站长将尽快核实您的举报,并根据情况,采取封号,退换米粒等处理。

*

回帖描述:

*

链接类型:

*

阅读权限:

*

下载链接:

密码:
发帖规则:回帖内容为会员之间的私信,普通网友无法查看。
免责声明:回帖中提供的链接内容仅供会员之间学习参考使用,获取内容后请在法律法规范围内使用。回帖提供的内容应符合法律法规要求,不得违反法律法律的要求。
站点权责:回帖内容如违反法律法规,站点有权封停账号使用权利。对用户举报的内容,站点有责任及时删除违规内容。
  • 背景波浪
  • 背景波浪
  • 波浪
  • 波浪
客服
在线咨询
周一 至 周日 9:00 ~ 22:00
QQ:1326974360
微信:juyoubuluo6688
客服热线
18205485173
工作日 9:00 ~ 18:00
微信扫码咨询
客户服务
欢迎咨询服务
咨询量较多时,请耐心等待
社群

关注公众号

获取更多资讯

扫码进群(QQ)

与更多大牛交流沟通

0.090453s