5.2jquery案例2

article/2025/8/21 7:16:44

1.仿qq列表分组

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>好友列表</title>
<style type="text/css">
body{font-family: "微软雅黑";
}
table {border:#0099FF 1px solid;width:100px;border-collapse:collapse;margin:15px 10px;width:10%;
}table td{border:#0066FF 1px solid;background-color:#6f5f3e;text-align:center;padding: 5px 0px;
}table td div {background-color:#FFFF99;text-align:left;line-height: 24px;padding-left: 14px;
}table td a:link, table td a:visited {color:#00ffFF;text-decoration:none;
}table td a:hover {color:#00CC00;
}
/*
使用display属性:如果取值为none就是隐藏标签。
*/
table td div { display:none; }.open { display:block; }.close { display:none; } </style>
<!--引入jquery的js库-->
<script src="../js/jquery-1.4.2.js"></script>
<script type="text/javascript">/* --通过jQuery实现访QQ列表好友分组-- */function openDiv(thisobj){//1.隐藏其他行的div//1.1把thisobj的js对象转成jquery对象//获取a标签的祖先tr,通过祖先tr找到其他行(tr) 找到每行的div并隐藏
        $(thisobj).parents("tr").siblings("tr").find("div").hide();//2.当前行的div切换成显示状态//找到点击a标签下面的div 改变状态
        $(thisobj).next().toggle();}/* --通过js实现访QQ列表好友分组--function openDiv(thisobj){var oDiv = thisobj.parentNode.getElementsByTagName("div")[0];var aDiv = document.getElementsByTagName("div");//判断当前分组div是展开还是关闭if(oDiv.style.display == "block"){//如果当前div是打开的, 只需关闭该div即可oDiv.style.display = "none";}else{//如果当前div是关闭的, 先关闭其他分组的div, 再打开当前的  for(var i=0;i<aDiv.length; i++){aDiv[i].style.display = "none";}oDiv.style.display = "block";}}*/
</script>
</head>
<body>
<table><tr><td><a href="javascript:void(0)" onclick="openDiv(this)">君王好友</a><div>秦始皇<br />刘邦<br />李世民<br />康熙<br /></div></td></tr><tr><td><a href="javascript:void(0)" onclick="openDiv(this)">三国好友</a><div>刘备<br />关羽<br />张飞<br />赵云<br /></div></td></tr><tr><td><a href="javascript:void(0)" onclick="openDiv(this)">美女好友</a><div>西施<br />貂蝉<br />杨贵妃<br />王昭君<br /></div></td></tr><tr><td><a href="javascript:void(0)" onclick="openDiv(this)">IT好友</a><div>马云<br />李开复<br />俞敏洪<br />黎活明<br /></div></td></tr>
</table>
</body>
</html>

2.二级联动下拉框

 

 

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>二级联动下拉框</title>
<!--引入jquery的js库-->
<script src="../js/jquery-1.4.2.js"></script>
<script>var data = {"北京市": ["海淀区","朝阳区","丰台区"],"河北省": ["石家庄","唐山","秦皇岛"],"辽宁省": ["沈阳","大连","鞍山"],"山东省": ["青岛","济南","烟台"]}/* --通过jQuery实现二级联动下拉框 -- */function selectCity(thisobj){//获取省市信息var province = $("#province").val();//根据省市信息获取对应城市信息var citys = data[province];//清空
        $("#city").html("<option>--请选择--</option>")for(var i=0;i<citys.length;i++){$("#city").append("<option>"+citys[i]+"</option>")}}/* --通过js实现二级联动下拉框--function selectCity(thisobj){//获取用户选中的省份var prov = thisobj.value;//再根据省份获取对应的市区var citys = data[prov];//获取第二个下拉列表var oCitySele = document.getElementById("city");//清空之前的数据oCitySele.innerHTML = "<option>--选择城市--</option>";//循环遍历, 将每一个城市依次填充到第二个下拉列表中for(var i=0; i<citys.length; i++){var oOption = document.createElement("option");oOption.innerHTML = citys[i];//将option挂载到select上oCitySele.appendChild(oOption);}}*/
</script>
<!-- 
js实现注意问题: ie10以下的浏览器不支持 select,table上的innerHTML属性删除option时,由于删除后,options长度发生了变化,所以直接用for循环会有漏删的情况,可以由后向前删除,可以避免这样的问题
-->
</head><body><select name="country" onchange="getCountry()"  ><option value="none">--选择国家--</option><option value="中国">中国</option><option value="美国">美国</option><option value="日本">日本</option></select><br><br><hr/><br><div id="seleDiv"><select id="province" onchange="selectCity(this)"><option>--选择省市--</option><option>北京市</option><option>河北省</option><option>辽宁省</option><option>山东省</option></select><span id="citySpan"><select id="city"><option>--选择城市--</option></select></span></div>
</body></html>

 3.模拟员工信息管理系统

<!DOCTYPE HTML>
<html>
<head>
<title>table练习</title>
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<style type="text/css">body{font-family: "微软雅黑"}h2, h4{ text-align: center; }div#box1, div#box2 {text-align:center;}hr{margin: 20px 0;}table{ margin: 0 auto; width: 70%;text-align: center;border-collapse:collapse;}td, th{padding: 7px; width:20%;}th{background-color: #DCDCDC;}
</style><!--引入jquery的js库-->
<script src="../js/jquery-1.4.2.js"></script>
<script type="text/javascript">//html文档加载完执行
    $(function(){//为"添加"按钮绑定点击事件(点击按钮添加员工信息到table中)
        $("#add").click(function(){//获取输入员工信息////采用后代选择器  $.trim的作用是取出输入的前后空格var id = $.trim($("#box1 input[name='id']").val());    var name = $.trim($("#box1 input[name='name']").val());var email = $.trim($("#box1 input[name='email']").val());    var salary = $.trim($("#box1 input[name='salary']").val());//  校验员工信息//员工信息不能为空if(id == "" || name == "" || email == "" || salary == ""){alert("员工信息不能为空");return;}//员工id不能重复var flag = false;$("table tr").each(function(){//判断id是否等于每行第二个td内的文本, 即idif($(this).find("td:eq(1)").text() == id){alert("ID已存在!");flag = true;return false;}});if(flag){ //如果id相等 ,中断该程序return;}//将新员工的信息插入到员工列表中var $tab = $("table");  //元素名选择器var $tr = $("<tr></tr>"); //$tr 没有什么意思只是为了做区分他是jquery对象,是一个标记var $td0 = $("<td><input type='checkbox'></td>");var $td1 = $("<td>"+id+"</td>");var $td2 = $("<td>"+name+"</td>");var $td3 = $("<td>"+email+"</td>");var $td4 = $("<td>"+salary+"</td>");//将td与tr拼接
            $tr.append($td0).append($td1).append($td2).append($td3).append($td4);$tab.append($tr);});//为全选按钮绑定点击事件
        $("#all").click(function(){//获取全选状态var check = $(this).attr("checked");//将所有复选框状态与全选保持一致
            $("table input[type='checkbox']").attr("checked",check);});//为"删除"绑定点击事件(点击"删除",删除所选员工信息)
        $("#del").click(function(){$("input:checked:not(input[id='all'])").parents("tr").remove();});//为"修改"绑定点击事件(点击"修改",修改指定ID的员工信息)
        $("#upd").click(function(){//获取修改的员工信息var id = $.trim($("#box2 input[name='id']").val());    var name = $.trim($("#box2 input[name='name']").val());var email = $.trim($("#box2 input[name='email']").val());    var salary = $.trim($("#box2 input[name='salary']").val());//修改员工信息不能为空    if(id == "" || name == "" || email == "" || salary == ""){alert("修改的信息不能为空!");return;}//根据ID修改对应的信息var flag = false;$("table tr").each(function(){//判断id是否等于每行第二个td内的文本, 即idif($(this).find("td:eq(1)").text() == id){//进行修改
                    $(this).find("td:eq(2)").text(name);$(this).find("td:eq(3)").text(email);$(this).find("td:eq(4)").text(salary);flag = true;return true;}})if(!flag){alert("修改的员工ID不存在!");}});})</script>
</head><body><h2>添加新员工</h2><div id="box1">ID:<input type="text" name="id"/>姓名:<input type="text" name="name"/>邮箱:<input type="text" name="email"/>工资:<input type="text" name="salary"/><input type="button" id="add" value="添加"/></div><hr/><table border="1"><tr><th><input type="checkbox" id="all"/><!--全选--></th><th>ID</th><th>姓名</th><th>邮箱</th><th>工资</th></tr><tr><td><input type="checkbox"/></td><td>1</td><td>宋江</td><td>sj@163.com</td><td>12000</td></tr><tr><td><input type="checkbox"/></td><td>2</td><td>武松</td><td>ws@163.com</td><td>10500</td></tr><tr><td><input type="checkbox"/></td><td>3</td><td>孙二娘</td><td>sen@163.com</td><td>11000</td></tr></table><h4><a href="#" id="del">删除选中</a></h2><hr/><div id="box2">ID:<input type="text" name="id"/>姓名:<input type="text" name="name"/>邮箱:<input type="text" name="email"/>工资:<input type="text" name="salary"/><input type="button" id="upd" value="修改"/></div>
</body>
</html>

 

转载于:https://www.cnblogs.com/xuwangqi/p/11294424.html


http://chatgpt.dhexx.cn/article/MmSu1T95.shtml

相关文章

jqueryfileupload php,JQuery fileupload插件实现文件上传功能

道理相通&#xff0c;我简单分享下在.net MVC下的实装。 1.制作Model类 using System; using System.Collections.Generic; using System.Linq; using System.Web; namespace RCRS.WebApp.LG.EM.Models { //---------------------------------------------------------------- …

为博客园添加标签云动画

canrun 优化版&#xff08;分隔线以上直接实现3D标签云效果展示&#xff09;&#xff1a; 一、在博客园管理-设置-页首Html代码中加入&#xff1a; <script type"text/javascript" src"http://files.cnblogs.com/Zjmainstay/swfobject.js"></scri…

服务器无响应无法加载,jquery - 无法加载资源:服务器响应状态为406(不可接受) - 堆栈内存溢出...

我在Chrome和Firefox浏览器控制台日志中遇到此错误 GET doaminipaddress.port / n / d85639d2ff510307eedab9f654a0d8a4.js&#xff1f;q y52W3GiXHD ... 886&#xff06;url http&#xff05;3A&#xff05;2F&#xff05;2domain.net&#xff05;2Fassets&#xff05;2Fscr…

OpenGL中如何绘制Bezier曲线和NURBS曲线

一、Bezier曲线 主要注意两个函数&#xff1a;glMap1和glEvalCoord1。 1.void glMap1{fd}(GLenum target,TYPE u1,TYPE u2,GLint stride, GLint order,const TYPE *points); 功能&#xff1a;定义求值器。  参数&#xff1a;target&#xff1a;指出了控制顶点的意义以及在po…

Nurbs样条线的原理及实现例码

最近做项目要用到到nurbs样条线&#xff0c;于是在网上找了一些Nurbs样条线的资料进行了研究&#xff0c;参照例子用自己的方法实现了Nurbs样条线&#xff0c;使用了几组例子进行测试。语言环境是OSG库。 &#xff08;1&#xff09;nurbs样条线的原理简介&#xff1a; 公式&…

【Blender】贝塞尔曲线(Bezier)和nurbs(NURBS)曲线有什么关系吗?

【Blender】贝塞尔曲线(Bezier)和nurbs(NURBS)曲线有什么关系吗&#xff1f; 【Blender】贝塞尔曲线(Bezier)和nurbs(NURBS)曲线有什么关系吗&#xff1f; 贝塞尔曲线最早提出&#xff0c;也最简单&#xff0c;但只能全局修改。B样条曲线稍后提出&#xff0c;解决了贝塞尔曲…

NURBS曲线-节点插入(原理+代码)

目录 1.概念及作用 2.原理及流程 1&#xff09;修改插入位置所在曲线的控制点 2&#xff09;修改受影响控制点的权值 3&#xff09;原节点矢量中新增目标节点 3.源码加注释 4.补充 1.概念及作用 设N为在节点矢量U{u_0&#xff0c;u_1&#xff0c;......&#xff0c;u_m}上的N…

理解Nurbs曲线/曲面的参数空间

人们对计算几何最常见的误解之一与曲线参数有关。 由于 Nurbs 曲线的数学相当复杂——其中大部分肯定超出了高中水平——很难解释控制点坐标、控制点权重、曲线度数和结向量如何共同使 nurbs 曲线的参数化变得复杂。 我自己对 Nurbs 数学的掌握充其量是皮毛&#xff0c;所以我…

Bezier曲线、B样条和NURBS的基本概念

最不能理解的一点&#xff0c;一讨论软件的曲面&#xff0c;曲线功能&#xff0c;最后就变成曲线、曲面的数学原理的讨论了&#xff0c;但是里面也没数学好的&#xff0c;讨论的结果可想而知。 我不是数学家&#xff0c;我不懂这么复杂的方程&#xff0c;只要好用就行了。 在CA…

NURBS曲线 和 NURBS曲面

NURBS曲线 NURBS曲线&#xff08;非均匀有理B样条&#xff09;是由分段有理B样条多项式基函数定义的&#xff0c;k阶NURBS曲线的定义如下&#xff1a; P ( t ) ∑ i 0 n w i P i N i , k ( t ) ∑ i 0 n w i N i , k ( t ) ∑ i 0 n P i R i , k ( t ) P(t)\frac{\sum_{i…

非均匀有理B-样条(Non-Uniform Rational B-Splines, NURBS)基础知识

B样条是无理的&#xff0c;组成无理B样条曲线或曲面。有理曲线或曲面可以精确地表示圆锥截面。非均匀有理B样条(Non-Uniform Rational B-Splines, NURBS)就是为了表达更精确的曲面引入的&#xff0c;其控制顶点包含权重。NURBS的基函数与B样条不同&#xff0c;但结点向量、张量…

MATLAB实现NURBS逼近曲线拟合及界面

目录 前言 一、数据点参数化 1.1原因 1.2方法 1.3代码(封装到类) 二、节点矢量计算 2.1方法 2.2代码 三、最小二乘反算控制点 四、基函数实现 五、豪斯多夫距离 六、离散曲率 总结 前言 采用matlab实现NURBS逼近曲线的拟合&#xff0c;利用app designer实现拟合的界…

NURBS Curves

文章目录 1. 定义2. 性质2.1 NURBS基函数的性质2.2 NURBS曲线的性质 3. 修改权重4. 相关算法4.1 节点插入&#xff1a;单点插入4.2 De Boors Algorithm 5. Rational Bzier Curves6. Rational Bzier Curves: Conic Sections7. Circular Arcs and Circles 1. 定义 NURBS&#xff…

Matlab中安装NURBS工具箱及使用

文章目录 前言一、NURBS工具箱的安装1 打开matlab&#xff0c;点击附加功能2 输入nurbs3 下载后压缩包解压4 将解压后的文件夹放到matlab文件夹的toolbox文件夹里面5 选择“预设路径”上方的“预设” 二、NURBS工具箱的使用2.1 NURBS 结构&#xff1a;2.2 对NURBS工具箱的初步理…

计算几何07_NURBS曲线与曲面

B样条方法在表示与设计自由曲线曲面时展现出强大的威力&#xff0c;但在设计与表示初等曲线曲面时却遇到了麻烦。因为B样条曲线、及其特例的Bezier曲线都不能精确表示除抛物线以外的二次曲线弧&#xff0c;B样条曲面、及其特例的Bezier曲面都不能精确表示除抛物面以外的二次曲面…

利用NURBS曲线进行点云曲面拟合算法

文章目录 介绍NURBS曲线C实现思路代码实现读取点云数据对点云进行预处理创建曲面模型将曲面模型转换为NURBS曲面 完整代码opennurbs.h说明vs2019安装OpenNURBS库编译OpenNURBS库 介绍 点云拟合曲面算法是将点云数据拟合成一个二次或高次曲面模型的算法。这种算法主要用于三维模…

离散数据点NURBS曲线拟合算法

问题描述&#xff1a;对于离散数据点集来说&#xff0c;其主要特征点一般可以描述原始曲线轨迹的基本形状。对于大量的离散数据点来说&#xff0c;提取主要的特征点后在进行曲线拟合&#xff0c;这样可以降低计算次数&#xff0c;极高拟合效率。 可以描述原始曲线几何形状的 特…

Nurbs建模

多边形建模和Nurbs建模 Nurbs始终有四个侧面&#xff0c;由有理多项式方程创立的曲线&#xff0c;由控制点定义的曲线。 Nurbs曲线是由一系列多项式构成的&#xff1a;axb0,ax^2bxc0… 能够将任何平面转换为Nurbs NURBS能买构建几乎所有的形状

matlab中Nurbs库的简单使用

文章目录 前言一、简单例子二、复杂一点的NUrbs曲面nrbeval函数 前言 只是为方便学习&#xff0c;不做其他用途&#xff0c;记录matlab中Nurbs的使用&#xff0c;好像记得是添加的matlab中的一个Nurbs库来着。前一段使用&#xff0c;现在不记得了&#xff0c;使用这个程序得先安…

NURBS

非均匀有理样条NURBS( Non-Uniform Rational B-Splines ) 是近年来发展迅速&#xff0c;应用广泛的一种表示曲线曲面造型技术。它能够精确地表示二次规则曲线曲面&#xff0c;从而能用统一的数学形式表示规则曲面与自由曲面&#xff0c;具有可影响曲线曲面形状的权因子&#xf…