首页 > 其他分享 >电影票选座HTML页面

电影票选座HTML页面

时间:2023-03-31 17:03:04浏览次数:38  
标签:selectedSeats HTML seat 票选 var 座位 row data 页面

以下是一个简单的电影票选座的HTML页面示例:

<!DOCTYPE html>
<html>
<head>
    <title>电影票选座</title>
    <style>
        /* 样式表 */
        .seat {
            background-color: green;
            color: white;
            padding: 10px;
            margin: 5px;
            border-radius: 5px;
            cursor: pointer;
        }
        .seat.selected {
            background-color: red;
        }
    </style>
</head>
<body>
    <h1>电影票选座</h1>
    <p>请选择您要购买的座位:</p>
    <div id="seats">
        <!-- 座位区域 -->
    </div>
    <p>您选择的座位是:</p>
    <div id="selected-seats">
        <!-- 已选座位区域 -->
    </div>
    <button id="buy-button">购买</button>

    <script>
        // JavaScript 代码
        var seats = [
            [1, 2, 3, 4, 5, 6, 7, 8],
            [9, 10, 11, 12, 13, 14, 15, 16],
            [17, 18, 19, 20, 21, 22, 23, 24],
            [25, 26, 27, 28, 29, 30, 31, 32],
            [33, 34, 35, 36, 37, 38, 39, 40],
        ];

        var selectedSeats = [];

        function toggleSeat(row, col) {
            var seat = document.getElementById("seat-" + row + "-" + col);
            if (selectedSeats.includes(seat)) {
                // 座位已经被选择,取消选择
                selectedSeats = selectedSeats.filter(function (s) {
                    return s != seat;
                });
                seat.classList.remove("selected");
            } else {
                // 选择座位
                selectedSeats.push(seat);
                seat.classList.add("selected");
            }
            updateSelectedSeats();
        }

        function updateSelectedSeats() {
            // 更新已选座位
            var selectedSeatsDiv = document.getElementById("selected-seats");
            selectedSeatsDiv.innerHTML = "";
            if (selectedSeats.length == 0) {
                selectedSeatsDiv.innerHTML = "您还未选择座位";
            } else {
                selectedSeatsDiv.innerHTML = "您选择的座位是:";
                for (var i = 0; i < selectedSeats.length; i++) {
                    selectedSeatsDiv.innerHTML +=
                        selectedSeats[i].getAttribute("data-seat") + " ";
                }
            }
        }

        // 创建座位图
        var seatsDiv = document.getElementById("seats");
        for (var i = 0; i < seats.length; i++) {
            var row = document.createElement("div");
            for (var j = 0; j < seats[i].length; j++) {
                var seat = document.createElement("span");
                seat.innerHTML = seats[i][j];
                seat.classList.add("seat");
                seat.setAttribute("data-row", i + 1);
                seat.setAttribute("data-col", j + 1);
                seat.setAttribute("data-seat", "第" + (i + 1) + "排第" + (j + 1) + "座");
seat.setAttribute("id", "seat-" + (i + 1) + "-" + (j + 1));
seat.onclick = function () {
var row = this.getAttribute("data-row");
var col = this.getAttribute("data-col");
toggleSeat(row, col);
};
row.appendChild(seat);
}
seatsDiv.appendChild(row);
}
    // 购买按钮点击事件
    var buyButton = document.getElementById("buy-button");
    buyButton.onclick = function () {
        if (selectedSeats.length == 0) {
            alert("请选择座位");
        } else {
            var confirmMsg = "您选择的座位是:\n";
            for (var i = 0; i < selectedSeats.length; i++) {
                confirmMsg +=
                    selectedSeats[i].getAttribute("data-seat") + "\n";
            }
            confirmMsg += "是否确认购买?";
            if (confirm(confirmMsg)) {
                alert("购买成功!");
                selectedSeats.forEach(function (s) {
                    s.classList.remove("selected");
                });
                selectedSeats = [];
                updateSelectedSeats();
            }
        }
    };
</script>
</body>
</html>

这个页面使用了HTML、CSS和JavaScript。它显示一个座位图,用户可以点击座位来选择它们,还有一个已选座位列表和一个购买按钮。当用户点击购买按钮时,页面将显示一个确认框,让用户确认购买,如果用户确认购买,座位将被标记为已售出并清除已选座位列表。

标签:selectedSeats,HTML,seat,票选,var,座位,row,data,页面
From: https://www.cnblogs.com/sin3degree/p/17276796.html

相关文章

  • Less.html基本使用
    背景:做一件代发业务的时候,订单中的产品描述含有大量广告,公司业务需要动态添加/删除指定的数据参考文档:Less.Html1.找出描述中含有多个的数据Dictionary<string,string>keyValues=newDictionary<string,string>();foreach(DataRowdataRowindataRowCollection){......
  • nginx启动成功,页面还是无法访问?
    问题如下图: 1.检查Nginx配置文件:nginx-t2.每次修改配置文件都要重新加载、启动nginx-sreload#重新载入配置文件nginx-sreopen#重启Nginx3.查看nginx进程 4.查看防火墙状态(不同Linux版本防火墙不同,以CentOSLinuxrelease7.9为例)查看状态:systemctlstatusfi......
  • 有关wordpress文章页面出现404的问题
    有关wordpress文章页面出现404的问题修复的时候总结了一下原因:1.未开启apache的rewrite功能2..htaccess文件中的伪静态规则配置错误3.由于目录存在中文,编码问题导致解决方案:1.未开启apache的rewrite功能:使用命令sudoa2enmodrewrite开启mod_rewrite,然后修改配置文件......
  • HTML编辑器粘贴图片自动上传到服务器(Java版)
    ​ 由于工作需要必须将word文档内容粘贴到编辑器中使用但发现word中的图片粘贴后变成了file:///xxxx.jpg这种内容,如果上传到服务器后其他人也访问不了,网上找了很多编辑器发现没有一个能直接解决这个问题考虑到自己除了工作其他时间基本上不使用windows,因此打算使用nodejs来解......
  • 微信开发:个人页面
    微信开发:个人页面wxml:<!--用户列表选项--><scroll-viewclass="scbg"scroll-y='true'><viewclass="parent_catainer"><!--头部--><!--style="background-image:url('/images/persons/mind_hea......
  • 【快应用】快应用如何打开手机中的html文件
     【关键字】本地html、多媒体、路由 【问题背景】快应用中的web组件无法打开本地的html文件,仅支持加载http和https格式的链接,那么快应用中如何查看手机中的本地html文件呢? 【解决方案】快应用中虽然不能通过web组件打开的本地html文件,但是我们以通过media.pickFile方法......
  • threejs中渲染html
    背景最近中看threejs的时候发现一个好玩的事情,可以在threejs中渲染普通的html。threejs本身可以做各种炫酷的界面,但是与用户交互的时候写起来没有用dom实现方便,但是如果可以将已有的dom渲染到threejs中,那么就可以实现非常炫酷的界面,也能提高用户的体验。依赖介绍这里使用react......
  • 史上最简 冰橙GPT前端开源 单页面 免编译 chatGPT3 对话页
    下载地址:https://gitee.com/zyhd/bingChengGPT 预览效果 冰橙GPT前端开源单页面免编译chatGPT3对话页对接冰橙GPT的API免安装本地可直接运行index.html即可已经将所有需要JS及CSS都采用公有CDN使用说明项目只有单个文件:index.html在index.html可在文件里修改JS区......
  • PageOffice 在线编辑 office文件,回调父页面
    一、子页面调用父页面的方法varvalue=window.external.CallParentFunc("ParentFunName(Arguments);");//父页面的JS函数有返回值window.external.CallParentFunc("ParentFunName(Arguments);");//父页面的JS函数无返回值二、是否需要传递参数(子页面关闭窗口的同时刷新父页面......
  • HTML元素截图(html2canvas)
    html2canvas官网 :http://html2canvas.hertzen.com/开源地址:https://github.com/niklasvh/html2canvas <body><divid="div"><span>内容</span><divstyle="height:300px;border:solid1pxred;width:100px">......