JQuery 练习题解析
1.制作简单的留言显示
<title>无标题文档</title> <!--因为制作这个留言显示,我们是用JQuery代码, 因此,我们在这里引入JQuery包,这个JQuery包可以从网上下载--> <script src="../jquery-1.11.2.min.js"></script> </head> <body> <!--显示留言内容,在这里id的作用不是用来在CSS表中设置样式, 而是方便用JQuery取值的--> <div id="nr"> </div> <!--用于输入留言内容--> <div> <!--在这里我们用input,当然要留言的内容较多,也可以考虑使用textarea--> 内容:<textarea id="txt"></textarea> <br /> <input type="button" value="提交" id="btn" /> </div> </body> <script type="text/javascript"> $(document).ready(function(e) { //在有的代码中,前面没有ready这一部分, //在这里我们为了代码在运行过程中不出错,也使得整个代码更严谨, //因此,我们在这里加上ready $("#btn").click(function(){ //因此根据之前设置好的id,给这个提交按钮添加一个点击事件 //当点击提交的时候,文本框里的内容机会被提交上去 var nr = $("#txt").val(); //我们需要把取得留言内容放到最上边的div里,添加一个换行,清晰地展现出每条留言内容 var str = nr+"<br>"; //根据id取值,然后追加,append() 方法在被选元素的结尾(仍然在内部)插入指定内容。 $("#nr").append(str); }) }); </script>
2.定义变量里面存登录者用户名,显示好友列表,鼠标放上换背景色,点击选中并弹出选中的用户名
根据用户名查询好友
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>无标题文档</title> <script src="../jquery-1.11.2.min.js"></script> <style type="text/css"> *{ margin:0px auto; padding:0px} #list { width:150px; height:100px; } .user{ width:150px; height:26px; background-color:#63F; margin-top:2px; color:white; text-align:center; line-height:26px; vertical-align:middle } .user:hover{ cursor:pointer;}<!--在这里设置背影颜色,鼠标放上去的时候变色,在下面用js代码后,会失灵,因此不在此设置颜色变化--> </style> </head> <body> <h1>好友信息</h1> <?php //先写好登陆者 $uid = "zhangsan"; //因为本体连接了数据库,因此我们在这里引入DBDA include("../DBDA.php"); $db = new DBDA(); //根据用户名查询好友,在friend表中登陆者的栏名为me $sql = "select firend from firend where me='{$uid}'"; $attr = $db->Query($sql); ?> <!--做一个div,用来显示好友,加一个id,控制样式--> <div id="list"> <?php //之前已经取到好友信息,因此在这里需要循环出来 foreach($attr as $v)//v代表好友名 { $fuid = $v[0]; //好友用户名 //根据好友的用户名来查询好友名 $sqlname = "select name from users where uid = '{$v[0]}'"; $aname = $db->Query($sqlname); $fname = $aname[0][0]; //好友的姓名 //显示好友的名称,bs存的用户名 echo "<div class='user' bs='{$fuid}'>{$fname}</div>"; } ?> </div> <script type="text/javascript"> $(document).ready(function(e) { //点击选中的事件 $(".user").click(function(){ //清除选中项,以后点击哪个哪个就变色 $(".user").css("background-color","#63F"); $(".user").attr("xz","0"); //让该项选中 $(this).css("background-color","#F30"); //加一个选中属性 $(this).attr("xz","1"); alert($(this).attr("bs")); }) //鼠标放上的事件,鼠标放上后背景颜色改变 $(".user").mouseenter(function(){ $(this).css("background-color","#F30"); }) //鼠标离开的事件 $(".user").mouseout(function(){ if($(this).attr("xz")!="1") { $(this).css("background-color","#63F"); } }) }); </script> </body> </html>
3.创建若干个输入文本框,当光标离开文本框的时候如果文本框为空,则将文本框背景色设置为红色,如果不为空则为白色
<title>无标题文档</title> <script src="../jquery-1.11.2.min.js"></script> </head> <body> <div> <input type="text" class="txt" /> <input type="text" class="txt" /> <input type="text" class="txt" /> <input type="text" class="txt" /> </div> </body> <script type="text/javascript"> $(document).ready(function(e) { $(".txt").blur(function(){ if($(this).val().trim() != "") { $(this).css("background-color","white"); } else { $(this).css("background-color","red"); } }) }); </script> </html>
4.选择球队,两个ul。被悬浮行高亮显示(背景是红色),点击球队将它放到另一个的球队列表
<title>无标题文档</title> <script src="../jquery-1.11.2.min.js"></script> <style type="text/css"> *{ margin:0px auto; padding:0px} #wai{ width:100%; height:300px; margin-top:50px } #left{ width:45%; height:300px; float:left; background-color:#0CF; } #middle{ width:10%; height:300px; float:left; background-color:#FC3; } #right{ width:45%; height:300px; float:left; background-color:#0CF; } .llist{ width:150px; height:26px; background-color:#63F; margin-top:2px; color:white; text-align:center; line-height:26px; vertical-align:middle; } #one{ width:80px; height:23px; margin:100px 0px 0px 0px; background-color:#0F3; text-align:center; line-height:23px; vertical-align:middle; font-weight:bold; } #all{ width:80px; height:23px; margin:10px 0px 0px 0px; background-color:#0F3; text-align:center; line-height:23px; vertical-align:middle; font-weight:bold;} .rlist{ width:150px; height:26px; background-color:#63F; margin-top:2px; color:white; text-align:center; line-height:26px; vertical-align:middle; } </style> </head> <body> <div id="wai"> <div id="left"> <div class="llist">巴萨</div> <div class="llist">皇马</div> <div class="llist">曼联</div> <div class="llist">曼城</div> <div class="llist">阿森纳</div> </div> <div id="middle"> <div id="one">></div> <div id="all">>></div> </div> <div id="right"> </div> </div> </body> <script type="text/javascript"> $(document).ready(function(e) { //点击选中 $(".llist").click(function(){ //清除所有的选中,设置清除之后,就可以实现点击哪里那里就会变色,也就是选中 $(".llist").css("background-color","#63F") $(".llist").attr("xz",0); //设置该项选中 $(this).css("background-color","red"); $(this).attr("xz",1); }) //移动一项 $("#one").click(function(){ //找到所有的,存到一个变量里,然后循环遍历 var list = $(".llist"); for(var i=0; i<list.length;i++) { //判断哪像选中
//eq()选择器选取带有指定 index 值的元素。index 值从 0 开始,所有第一个元素的 index 值是 0(不是 1)。
if(list.eq(i).attr("xz")==1) { //判断该值是否已经存在 var zhi = list.eq(i).text(); if(Has(zhi)) { var str = "<div class='rlist'>"+zhi+"</div>"; $("#right").append(str); } } } }) //移动所有 $("#all").click(function(){ var llist = $(".llist"); for(var i=0;i<llist.length;i++) { var zhi = llist.eq(i).text(); if(Has(zhi)) { var str = "<div class='rlist'>"+zhi+"</div>"; $("#right").append(str); } } }) }); //写一个方法,判断是否已经移动到位 function Has(zhi) { var list = $(".rlist"); var iscunzai = true; for(var i=0;i<list.length;i++) { if(list.eq(i).text()==zhi) { iscunzai = false; break; } } return iscunzai; } </script> </html>