云南农职《JavaScript交互式网页设计》 综合机试试卷⑤——简单分类菜单
一、语言和环境
- 实现语言:HTML,CSS,JavaScript,JQuery。
- 开发环境:HBuilder。
二、题目(100分):
1、使用Jquery和JavaScript实现二级分类菜单管理
- 点击“添加一级分类”能添加一行一级分类
- 点击“添加子分类”能添加一行二级分类
- 点击“删除”可以删除该级分类,并且删除一级分类的同时,相关二级分类也随之删除。
- 点击“全选”可以实现下列行全选,再次点击取消,当其中一个取消后全选复选框不被选中,当全部选中后全选复选框选中。
2、推荐实现步骤
- 在HTML页面中,选择合适的插入方法插入相关节点。
- 使用remove()方法实现分类的删除操作,可通过js方式或者jquery方式获取相关节点并删除。
- 提示:复选框的checked的属性值为false时说明未被选中,为true或者checked时状态为选中。
- 合理使用选择器,可以简化代码。
三、评分标准
|
题目:二级分类菜单管理 |
|||
|
该程序评分标准如下: |
|||
|
10 |
正确按照效果图编写出html代码 |
||
|
5 |
正确显示操作界面 |
||
|
5 |
将界面美化,适当添加动画,背景颜色 |
||
|
40 |
复选框操作 |
||
|
10 |
点击全选复选框,所有复选框被选中,再次点击取消选中状态 |
||
|
15 |
全选状态下,其中一个复选框状态为未被选中时,全选复选框也未被选中 |
||
|
15 |
选中所有复选框,全选复选框被选中 |
||
|
40 |
正确编写JS/JQuery代码实现分级分类菜单操作 |
||
|
10 |
实现添加一级目录功能 |
||
|
5 |
实现删除一级目录功能(一级目录删除相关二级目录可不删除) |
||
|
10 |
实现添加二级目录功能 |
||
|
5 |
删除二级目录功能 |
||
|
5 |
删除一级目录,二级目录随之删除 |
||
|
10 |
整体效果美观以及代码编写规范 |
||
|
5 |
整体显示效果美观 |
||
|
5 |
命名规范,可读性好,编码书写有缩进 |
||
|
总分 |
100分 |
||
四、实现代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style type="text/css">
*{
margin: 0;
padding: 0;
}
td,th{
padding: 10px;
}
#content{
margin: 0 auto;
width: 800px;
height: 500px;
}
</style>
<script src="js/jquery-3.3.1.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
// 添加一级菜单
function addChild(){
var th = $("tr:first-child");
th.after(
'<tr class="oneMenu">'+
'<td><input type="checkbox" /> </td>'+
'<td>一级菜单</td>'+
'<td><a href="#" onclick="addChilds(this)">添加子分类</a></td>'+
'<td><a href="#" onclick="delChild(this)">删除</a></td>'+
'</tr>'
);
};
// 添加二级菜单
function addChilds(item){
var th = item.parentNode.parentNode;
$(th).after(
'<tr class="twoMenu">'+
'<td></td>'+
'<td>二级菜单</td>'+
'<td></td>'+
'<td><a href="#" onclick="delChild(this)">删除</a></td>'+
'</tr>'
);
};
// 删除节点
function delChild(item){
var th = item.parentNode.parentNode;
if (th.className="oneMenu") {
$(th).remove();
} else{
var two = document.className("twoMenu")
console.log(two)
$(two).remove();
}
}
// 设置全选
function allCheck(){
var all = $("#all");
var che = $("input[type='checkbox']");
for (var i = 0;i<che.length;i++) {
che[i].checked = all[0].checked;
}
};
</script>
</head>
<body>
<div id="content">
<input type="button" value="添加一级菜单" onclick="addChild()"/>
<br />
<table>
<tr>
<th><input type="checkbox" id="all" onclick="allCheck()"/> 全选</th>
<th>分类</th>
<th>菜单</th>
<th>操作</th>
</tr>
<tr class="oneMenu">
<td><input type="checkbox" /> </td>
<td>一级菜单</td>
<td><a href="#" onclick="addChilds(this)">添加子分类</a></td>
<td><a href="#" onclick="delChild(this)">删除</a></td>
</tr>
<tr class="twoMenu">
<td></td>
<td>二级菜单</td>
<td></td>
<td><a href="#" onclick="delChild(this)">删除</a></td>
</tr>
</table>
</div>
</body>
</html>
云南农职《JavaScript交互式网页设计》 综合机试试卷⑤——简单分类菜单的更多相关文章
- JavaScript交互式网页设计作业目录(作业笔记)
JavaScript交互式网页设计笔记 • [目录] 我的大学笔记>>> 第1章 JavaScript基本语法>>> 1.1.4 使用 JavaScript 的 H ...
- JavaScript交互式网页设计笔记 • 【目录】
章节 内容 实践练习 JavaScript交互式网页设计作业目录(作业笔记) 第1章 JavaScript交互式网页设计笔记 • [第1章 JavaScript基本语法] 第2章 JavaScript ...
- 云南农职《JavaScript交互式网页设计》 综合机试试卷③——实现二级分类菜单
一.语言和环境 实现语言:HTML,CSS,JavaScript,JQuery. 开发环境:HBuilder. 二.题目(100分): 使用Jquery和JavaScript实现二级分类菜单管理 点击 ...
- 云南农职《JavaScript交互式网页设计》 综合机试试卷①——实现购物车的结算
一.语言和环境 实现语言:javascript.html.css. 开发环境:HBuilder. 二.题目2(100分) 1.功能需求: 马上过节了,电商网站要进行促销活动,需要实现该商城购物车的商品 ...
- 云南农职《JavaScript交互式网页设计》 综合机试试卷②——实现轮播图效果
一.语言和环境 实现语言:HTML,CSS,JavaScript,JQuery. 开发环境:HBuilder. 二.题目(100分): 使用JQuery淡入淡出动画,实现轮播图效果 每隔2秒钟切换一张 ...
- 云南农职《JavaScript交互式网页设计》 综合机试试卷④——蔚蓝网导航栏
一.语言和环境 实现语言:javascript.html.css. 开发环境:HBuilder. 二.题目(100分) 1.功能需求: 布局出顶部导航栏目 鼠标放到新手入门显示对象的下拉列表 鼠标移开 ...
- 云南农职《JavaScript交互式网页设计》 综合机试试卷⑥——简易旅游网
本页面分为顶部导航.登录注册栏,中部图片展示.主体内容和底部反馈模板 一.导航栏部分 要求一:设置菜单栏(二级菜单)和登录注册模块 要求二:当鼠标悬停到菜单栏(一级菜单)时,二级菜单以滑动效果滑出显示 ...
- JavaScript交互式网页设计 • 【第5章 JavaScript对象】
全部章节 >>>> 本章目录 5.1 Object 对象和 Date 对象 5.1.1 JavaScript 的内部对象 5.1.2 Object对象 5.1.3 Date ...
- JavaScript交互式网页设计 • 【第3章 JavaScript浏览器对象模型】
全部章节 >>>> 本章目录 3.1 浏览器对象模型 3.1.1 浏览器对象模型 3.2 window 对象 3.2.1 window 对象的常用属性及方法 3.2.2 使 ...
随机推荐
- IDEA2021.2安装与配置
https://blog.csdn.net/qq_37242720/article/details/119349394
- zabbix之源码安装
#:官网地址 https://www.zabbix.com/documentation/4.0/zh/manual/installation/install #:解压并创建用户 root@ubuntu ...
- Docker 安装 Oracle12c
为选定需要pull到系统中的数据库镜像 # docker pull sath89/oracle-12c --------sath89/oracle-12c为选定需要pull到系统中的数据库镜像 doc ...
- my42_Mysql基于ROW格式的主从同步
模拟主从update事务,从库跳过部分update事务后,再次开始同步的现象 主库 mysql> select * from dbamngdb.isNodeOK; +----+--------- ...
- 出现 CannotAcquireLockException 异常
项目出现 CannotAcquireLockException异常 原因: 百度了一下,是由于 Spring 事务嵌套造成死锁 结合自己的, handleWithdraw 方法底层有调用 其他 se ...
- thinkPHP跨数据库访问/数据库切换
在项目的开发中会遇到访问多个数据库的问题这里讲的是:访问同一地址下的多个数据库 第一步:在配置文件中配置你要连接的其他的数据库 例如:我现在默认的数据库是back 现在我要设置第二个数据库travel ...
- Samba 源码解析之SMBclient命令流
smbclient提供了类似FTP式的共享文件操作功能, 本篇从源码角度讲解smbclient的实现,smbclient命令的具体使用可通过help命令和互联网查到大量资料. 以下从源码角度分析一个s ...
- Table.ReorderColumns移动…Reorder…(Power Query 之 M 语言)
数据源: 至少两列 目标: 列顺序重新排列 操作过程: 选取待移动的列>鼠标拖放列标题 选取待移动的列>[转换]>[移动]>选取 M公式: = Table.ReorderCo ...
- 删除列Table.RemoveColumns(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳"&qu ...
- SpringBoot 2.x 自定义拦截器并解决静态资源访问被拦截问题
自定义拦截器 /** * UserSecurityInterceptor * Created with IntelliJ IDEA. * Author: yangyongkang * Date: ...