《Web前端应用开发》考试试卷(模拟题)

news2024/11/17 13:55:18

一、产品搜索页面
打开“考试文件夹”中的input.html,完成以下步骤:
注意:本题仅能在input.html的

在这里插入图片描述

(1)为产品名称所在的div添加样式属性,使得产品名称保持在文本框的左边;
(2)调整产品名称所在div的宽度和间距,使得产品名称文字右边缘到浏览器左边界的距离为100px;再使产品名称文字到右边文本框的间距为10px;
(3)调整录入按钮的宽度,使其右边刚好与文本框的右边齐平。
2、数据验证约束:(10分)
(1)点击“录入”按钮后执行数据验证;
(2)产品名称必须输入;
(3)产品名称中不能有数字;
(3)如果验证未通过则将错误消息填充至id为error的div中,并将错误消息以红色(#ff0000)显示;
(4)如果全部验证通过,则跳转至产品主页面product.html。

二、产品主界面
打开“考试文件夹”中的product.html,完成以下步骤:
1、前后端数据交互:点击页面中“搜索”按钮向后端发起请求
(1)接口地址:http://114.67.241.121:8080/product/list
(2)接口调用方式:get
(3)提交参数:
(4)输入产品名称“电脑”并点击搜索,服务器将返回JSON数据
服务端返回数据格式:(请粘贴在下方)
{“code”:200,“data”:[{“brand”:“联想”,“image”:“thinkpad.png”,“model”:“thinkpad”,“price”:5000},{“brand”:“戴尔”,“image”:"lingyue.png ",“model”:“灵越”,“price”:6000},{“brand”:“惠普”,“image”:"anyinjinglin.png ",“model”:“暗影精灵”,“price”:6000},{“brand”:“神舟”,“image”:"youya.png ",“model”:“优雅”,“price”:4000},{“brand”:“联想”,“image”:"yangtian.png ",“model”:“扬天”,“price”:4000}],“msg”:“成功”,“success”:true}

3、界面设计和数据填充(如下图所示)
在这里插入图片描述

(1)遍历JSON中的所有的产品,构造表格HTML代码,并填充至id为product的div中。
(2)将数据放入一个四列表格中,第一行单元格为表头,height设为30px,后续行为数据,height设为100px;
(3)所有单元格都设置为垂直居中和水平居中;
(4)第一列显示一张图片,高宽各为100px,图片文件名为JSON中的image属性值,完整图片链接为:(4分)
http://114.67.241.121:8080/img/图片文件名
(5)第二列显示品牌,取值为JSON中的brand属性值
(6)第三列显示型号链接,链接文本取值为JSON中的model属性值,链接的中的图片文件名为JSON中的image属性值,完整链接代码为:
型号
链接要求点击后在新页面打开;
(7)第四列显示价格,取值为JSON中的price属性值。
3、界面美化
1)在

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>产品录入</title>
    <link href="css/input.css" rel="stylesheet" type="text/css" />

    <style>
        #project{
            float:left;
            margin-right: 10px;
            margin-left: 100px;
        }
        #submit input{
            width: 324px;
        }
        #error{
            color: #ff0000;
        }
    </style>

</head>



<body>
<div id="search">
    <div id="project">产品名称</div>
    <div><input type="text" placeholder="请输入产品名称"></div>
</div>
    <div id="error"></div>
    <div id="submit">
        <input id="luru" type="button" value="录入">
    </div>
</body>

<script src="/js/jquery-3.1.1.min.js"></script>
<script>
    $("#luru").click(function(){
        var content = $("#search input").val();
        // 判断一下是否拿到了输入框的内容
        console.log(content);
        if(content == ""){
            $("#error").html("请输入产品名称!");
            return;
        }
        if(/\d/.test(content)){
            $("#error").html("产品名称中不能含数字!");
            return;
        }
        // 如果全部验证通过,则跳转至产品主页面
        window.location.href = 'product.html';
    });
</script>


</html>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>产品</title>

    <style>
		table {
			/* 表格应该具有边框线 设置表格边框为1像素实线黑色 */
			border: 1px solid #000;
			/* 合并单元格边框 */
			border-collapse: collapse;
			width: 550px;
		}
		th {
			/* 表头 */
			height: 30px;
			text-align: center;
			vertical-align: middle;
			border: 1px solid #000;
		}
		td {
			/* 单元格 */
			height: 100px;
			/* 所有单元格的数据与都设置为垂直居中和水平居中 */
			text-align: center;
			vertical-align: middle;
			border: 1px solid #000;
		}
		img {
			/* 图片高和宽风均设置为100px */
			height: 100px;
			width: 100px;
		}
		/* 鼠标未在该链接上所显示的样式 */
		a {
			color: #00ff00;
		}
		/* 将鼠标移动到该上方所显示的样式 */
		a:hover {
			color: #ff0000;
		}
		tr th:nth-child(4) {
			background-color: #ffffd0;
		}
		tr td:nth-child(4) {
			background-color: #ffffd0;
		}
		tr th:nth-child(1) {
			width: 100px;
		}
		tr th:nth-child(2) {
			width: 150px;
		}
		tr th:nth-child(4) {
			width: 150px;
		}
	</style>


</head>
<body>
    <div>
        <input type="text" id="ss" placeholder="请输入产品名称"> 
        <input type="button" id="search" value="搜索">
    </div>
    <div id="product"></div>
</body>
    <script src="/js/jquery-3.1.1.min.js"></script>
    <script>

        $("#search").click(function(){
            // 获取输入的表单元素
            var content1 = $("#ss").val();
            console.log(content1);

            if(content1 == "电脑"){

                $.ajax({
                    type:"get",
                    url:"http://114.67.241.121:8080/product/list",
                    // 向后端发送的数据  没有则不写
                    data:{

                    },
                    // 后端返回数据的类型
                    dataType:"json",
                    // 请求成功时执行的方法 后端返回参数
                    success:function(res){

                        var content2 = "";
                        content2 += "<table>";
                        content2 += "<tr>";
                        content2 += "<th></th>";
                        content2 += "<th>品牌</th>";
                        content2 += "<th>型号</th>";
                        content2 += "<th>价格</th>";
                        for(var i = 0;i < res.data.length; i++){
                            // html += "  <td>  <img src='http://114.67.241.121:8080/img/" + res.data[i].image + "'>  </td>  "
                            // html += "<td><img src='http://114.67.241.121:8080/img/" + res.data[i].image + "'></td>"
                            content2 += "<tr>";
                            // note: 1.路径不要写错  2. 拼接字符串的时候 " "双引号里面为字符串  直接加的为参数 
                            // 图片数据是根据题目文档中所给链接 + json中的文件图片名  所拼接得的链接所得
                            content2 += "<td><img src='http://114.67.241.121:8080/img/" + res.data[i].image + "'></td>";
                                    // "<td><img src='http://114.67.241.121:8080/img/" +res.data[i].image + "'></td>";
                            // 品牌数据直接从后端返回的json数据中拿
                            content2 += "<td>" + res.data[i].brand +"</td>"   
                            // <a href="http://114.67.241.121:8080/img/图片文件名">型号</a>
                            content2 += "<td><a href='http://114.67.241.121:8080/img/" + res.data[i].image + "'>"+ res.data[i].model +"</a></td>";
                            content2 += "<td>" + res.data[i].price +"</td>"   
                        }  
                        content2 += "</table>";    
                        $("#product").append(content2);
                    },error:function(){
                        alert("请求失败");
                    }
                });


            }else{
                alert("搜索的数据不是电脑");
            }

        });



    </script>

</html>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/419697.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PPT NO.1【用ppt如何做一张海报+字体】

PPT做得好的人&#xff0c;一定是站在观众的角度思考的人。 1、设置幻灯片尺寸大小&#xff1a; 设置完成后如下&#xff1a; 2、加载一张自己喜欢的图片进来&#xff1a;【图片越高清越好】 将图片铺满空白的地方&#xff0c;调整好自己喜欢的区域&#xff1a; 做裁剪&#xf…

数据结构修炼第一篇:时间复杂度和空间复杂度

系列文章目录 第一章 时间复杂度和空间复杂度 第二章 顺序表&#xff0c;列表 第三章 栈和队列 第四章 二叉树 第五章 排序 目录 系列文章目录 &#x1f3c6;文章目录 &#x1f3c6;前言 &#x1f3c6;一、算法的复杂度 &#x1f3c6;二、时间复杂度的概念 大0渐进 作…

【Go语言从入门到精通系列-基础篇】Go安装 + 语言特性,以及开启你人生中的第一个go程序

系列文章 【Go语言从入门到精通系列-基础篇】Go安装 语言特性&#xff0c;以及开启你人生中的第一个go程序 【Go语言从入门到精通系列-基础篇】Go语言包的管理以及基础语法与使用。 Go语言从入门到精通系列-基础篇系列文章前言第一章 Go语言开发基础1.1 Go语言的优势1.2 Go语…

C语言快速排序非递归实现

目录 栈的辅助&#xff08;栈的实现可以调用之前实现的数据结构&#xff09;&#xff1a; 1&#xff0c;初始状态 2&#xff0c;循环 3&#xff0c;终止 4&#xff0c;注意 小点&#xff1a; 1&#xff0c;递归的使用会造成栈空间的消耗&#xff0c;使用递归&#xff0c;…

刷题day51:重新安排行程 ***

题意描述&#xff1a; 给你一份航线列表 tickets &#xff0c;其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK&#xff08;肯尼迪国际机场&#xff09;出发的先生&#xff0c;所以该行程必须从 …

【宝塔邮局管理器】使用教程、Email配置

1.安装宝塔邮局插件前&#xff0c;需要先安装redis服务&#xff0c;并设置redis密码。 安装完Redis服务后设置密码&#xff0c;设置密码时不要使用&%这类特殊符号 会导致负载状态显示异常&#xff0c;可使用英文数字组合密码 PS&#xff1a;邮局的反垃圾模块 rspamd服务需要…

Spring Cloud快速入门

文章目录Spring Cloud快速入门一、基础概念1、微服务架构2、微服务技术栈3、什么是Spring Cloud?4、Spring Cloud和Spring Boot的联系&#xff1f;5、比较成熟的互联网架构二、Rest环境搭建1、搭建提供者1.1、创建一个父工程1.2、创建一个springcloud-api模块1.3、创建一个spr…

SSM学习记录3:响应(注释方式 + SprigMVC项目 + 2022发布版本IDEA)

响应 ResponseBody注解的作用是将当前控制器中方法的返回值作为响应体 1.返回页面 无需在方法上进行ResponseBody注解&#xff0c;只需RequestMapping匹配地址&#xff0c;并且返回值为带后缀的页面名字符串 前面学习中除了json数据&#xff0c;所有带ResponseBody注解的方法…

iphone用什么蓝牙耳机好?和iphone适配的蓝牙耳机推荐

随着科技的不断发展&#xff0c;人们已经离不开各种智能设备。蓝牙耳机作为一种非常方便的音频设备&#xff0c;已经逐渐成为了许多人日常生活中不可或缺的一部分。然而&#xff0c;苹果产品的价格一直都是昂贵的&#xff0c;有没有与iphone适配的耳机呢&#xff1f;下面我们来…

ServletAPI详解(三)-HttpServletRequest

我们来看第二个类:HttpServletRequest HttpServletRequest HttpServletRequest表示的是一个http请求对象,是tomcat自动构造的,tomcat会实现监听端口,接收连接,读取请求,解析请求,构造请求对象等一系列操作 下面的方法可用在 Servlet 程序中读取 HTTP 头。这些方法通过 HttpS…

若依— — 快速入门【源码分析】

若依— — 快速入门 1 什么是若依 官网地址&#xff1a;http://www.ruoyi.vip/ 若依是一款优秀的开源项目&#xff0c;涉及到企业开发中大部分的管理系统&#xff0c;我们依此为模板进行二次开发&#xff0c;可以快速开发出符合大部分公司中的后台管理系统。 2 使用若依 使用开…

Spring Security --- authorizeRequests配置

目录 自定义配置类之访问权限 匹配顺序规则 访问控制包含 访问控制url匹配 访问控制方法 角色、权限判断 使用注解进行角色权限控制 自定义配置类之访问权限 http.authorizeRequests()主要是对url进行访问权限控制通过这个方法来实现url授权操作支持链式写法 匹配顺序…

【react全家桶学习】react简介

react是什么&#xff1f; react是用于构建用户界面的JS库&#xff0c;是一个将数据渲染为HTML视图的开源JS库 谁开发的&#xff1f; 由Facebook开发&#xff0c;且开源 为什么要学&#xff1f; 原生JavaScript操作DOM繁琐、效率低 ( DOM-API操作 UI)使用JavaScript直接操作…

Attention注意力机制

加粗样式通俗理解&#xff1a;你会注意什么&#xff1f; 对于一个模型而言&#xff08;CNN&#xff0c;LSTM&#xff09;&#xff0c;模型本身很难决定什么重要什么不重要&#xff0c;因此注意力机制诞生了。 注意力机制&#xff1a;我们会把焦点聚焦在比较重要的事务上 怎么…

详细聊一聊Android Apk的四代签名

简介 大部分开发者对apk签名还停留在APK v2&#xff0c;对APK v3和APK v4了解很少&#xff0c;而且网上大部分文章讲解的含糊不清&#xff0c;所以根据官网文档重新整理一份。 apk签名从APK v1到APK v2改动很大&#xff0c;是颠覆性的&#xff0c;而APK v3只是对APK v2的一次…

RocketMQ是是如何管理消费进度的?又是如何保证消息成功消费的?

RocketMQ消费者保障 作者: 博学谷狂野架构师GitHub&#xff1a;GitHub地址 &#xff08;有我精心准备的130本电子书PDF&#xff09; 只分享干货、不吹水&#xff0c;让我们一起加油&#xff01;&#x1f604; 消息确认机制 consumer的每个实例是靠队列分配来决定如何消费消息的…

业务异步离线任务平台思考

目录 一、离线任务平台定义 二、实际开发那种的实现方式分析 三、企业应用与链接分享 &#xff08;一&#xff09;具体企业应用举例 &#xff08;二&#xff09;离线任务平台相关文章和论文链接 四、开源代码库参考 一、离线任务平台定义 离线任务平台通常是指一种基于云…

基于 Verilog HDL 设计真彩图的灰度处理模块

引言 FPGA比较擅长的是作定点数整数运算&#xff0c;那么对于带有小数部分的乘加运算。一般都选择先扩大若干倍&#xff0c;而后将运算结果缩小若干倍实现。 应用案例&#xff0c;真彩图转灰度图的心理学计算公式&#xff1a; Gray 0.299R 0.587G 0.114B 本文给出具体的…

Spring boot基础学习之(十八):通过shiro框架使用Mybatis实现用户的认证完整的认证流程

在上几篇文章的基础上&#xff0c;实现本次案例 注意&#xff1a;本篇文章的实现代码在几篇文章都已经详细的讲过了&#xff0c;所以在此篇文章&#xff0c;将不再有理论知识的陈述&#xff0c;更过的流程&#xff0c;如何通过代码实现连接数据库进行认证 添加本次案例所需要的…

【并发编程】ConcurrentHashMap源码分析(二)

addCount 统计元素个数 private transient volatile long baseCount; //初始化大小为2,如果竞争激烈,会扩容 2->4 private transient volatile CounterCell[] counterCells;如果竞争不激烈的情况下&#xff0c;直接用cas (baseCount1)如果竞争激烈的情况下&#xff0c;采用…