分别用js和jq实现百度全选反选效果

js实现过程

  1 <!DOCTYPE html>
  2 <html lang="en">
  3 <head>
  4     <meta charset="UTF-8">
  5     <title>Title</title>
  6     <style>
  7         li {
  8             height: 30px;
  9             line-height:30px;
 10             list-style: none;
 11             font-size: 24px;
 12         }
 13         .b1 {
 14             background: #CCCCCC;
 15         }
 16         .b2 {
 17             background: yellow;
 18         }
 19         .b3 {
 20             background: orange;
 21         }
 22         .b4 {
 23             background: red;
 24         }
 25     </style>
 26     <script>
 27         /*
 28         * 当鼠标移入li的时候
 29         *   当前li对应的checkbox是否是选中的
 30         *       是:li的className = ‘b4‘
 31         *       否:li的className = ‘b3‘
 32         * 当鼠标移出li的时候
 33         *   当前li对应的checkbox是否是选中的
 34         *       是:li的className = ‘b4‘
 35         *       否:li的className = 原来隔行变色的时候设置的class
 36         * */
 37         window.onload = function() {
 38
 39             var ul1 = document.getElementById(‘ul1‘);
 40             var lis = document.querySelectorAll(‘li‘);
 41             var checkBoxes = ul1.querySelectorAll(‘input‘);
 42             var checkAll = document.getElementById(‘checkAll‘);
 43
 44             //给每一个li添加不同的样式
 45             for (var i=0; i<lis.length; i++) {
 46
 47                 lis[i].index = i;
 48                 checkBoxes[i].index = i;
 49
 50                 //通过i%2判断i是奇数还是偶数
 51                 if ( i % 2 == 0 ) {
 52                     lis[i].className = ‘b1‘;
 53                     lis[i].bc = ‘b1‘;
 54                 } else {
 55                     lis[i].className = ‘b2‘;
 56                     lis[i].bc = ‘b2‘;
 57                 }
 58
 59                 //当鼠标移入的时候
 60                 lis[i].onmouseover = function() {
 61                     if ( checkBoxes[this.index].checked == true ) {
 62                         this.className = ‘b4‘;
 63                     } else {
 64                         this.className = ‘b3‘;
 65                     }
 66                 }
 67
 68                 //当鼠标移出的时候
 69                 lis[i].onmouseout = function() {
 70                     if ( checkBoxes[this.index].checked == true ) {
 71                         this.className = ‘b4‘;
 72                     } else {
 73                         this.className = this.bc;
 74                     }
 75
 76                 }
 77
 78
 79                 checkBoxes[i].onclick = function() {
 80                     if ( this.checked == true ) {
 81                         lis[this.index].className = ‘b4‘;
 82                     }
 83
 84                     var isCheckedAll = true;
 85                     for (var i=0; i<checkBoxes.length; i++) {
 86                         //console.log(checkBoxes[i].checked)
 87                         if (checkBoxes[i].checked == false) {
 88                             isCheckedAll = false;
 89                         }
 90                     }
 91                     console.log(isCheckedAll)
 92                     checkAll.checked = isCheckedAll;
 93                 }
 94
 95             }
 96
 97             //全选
 98             checkAll.onclick = function() {
 99                 for (var i=0; i<checkBoxes.length; i++) {
100                     checkBoxes[i].checked = this.checked;
101                     if (this.checked) {
102                         lis[i].className = ‘b4‘;
103                     } else {
104                         lis[i].className = lis[i].bc;
105                     }
106                 }
107             }
108
109         }
110     </script>
111 </head>
112 <body>
113
114 <div id="ul1">
115     <li><input type="checkbox"> javascript</li>
116     <li><input type="checkbox"> html</li>
117     <li><input type="checkbox"> css</li>
118     <li><input type="checkbox"> html5</li>
119     <li><input type="checkbox"> css3</li>
120     <li><input type="checkbox"> nodejs</li>
121 </div>
122 <input type="checkbox" id="checkAll">全选
123
124 </body>
125 </html>

jq的写法:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3     <head>
 4         <meta charset="utf-8">
 5         <script type="text/javascript" src="http://libs.baidu.com/jquery/1.7.2/jquery.min.js"></script>
 6         <script type="text/javascript">
 7         //高版本的jq库有个bug。低版本的jq中是可以的
 8         $(function(){
 9             var chkAll = $(‘#chkAll‘);
10             var chkNone = $(‘#chkNone‘);
11             var chkReverse = $(‘#chkReverse‘);
12             var checkbox = $(‘#checkbox>:checkbox‘);
13             console.log(checkbox);
14
15             chkAll.click(function(){
16                 //checkbox.attr(‘checked‘,‘checked‘);
17                 checkbox.attr(‘checked‘,true);
18             });
19             chkNone.click(function(){
20                 //checkbox.removeAttr(‘checked‘);
21                 checkbox.attr(‘checked‘,false);
22             });
23             chkReverse.click(function(){
24                 checkbox.each(function(){
25                     $(this).attr(‘checked‘,!$(this).attr(‘checked‘));
26                 });
27             });
28
29         });
30         </script>
31     </head>
32     <body>
33         <div id="checkbox">
34             <input type="checkbox" name="" id="" checked="checked">吃
35             <input type="checkbox" name="" id="">喝
36             <input type="checkbox" name="" id="">玩
37             <input type="checkbox" name="" id="">乐
38             <input type="checkbox" name="" id="">打豆豆
39         </div>
40         <div id="btn">
41             <input type="button" id="chkAll" value="全选">
42             <input type="button" id="chkNone" value="全不选">
43             <input type="button" id="chkReverse" value="反选">
44         </div>
45     </body>
46 </html>
时间: 2024-10-24 07:15:29

分别用js和jq实现百度全选反选效果的相关文章

Android GridView实现全选反选效果

原文:Android GridView实现全选反选效果 源代码下载地址:http://www.zuidaima.com/share/1550463727848448.htm 非常实用的Demo,很多时候都会用到,所以特意上传上来给大家分享. 另外,建议猿们以后上传这种类似可运行的程序源码时,最好都附上截图,这样其他猿也知道是不是自己想要的.

Jquery 1.8全选反选删除选中项实现

JQuery1.6以后,Prop的出现,让1.6以下的全选反选效果全部失效了.以下是修正后的版本: 全选反选效果: $(".checkbox").click(function () { $('input[type=checkbox]').prop('checked', $(this).prop('checked')); }); 找到选中项的JQ代码: $("input:[type='checkbox'][checked]") JQ1.6以下的全选反选效果: if (

vue实现全选反选

<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>全选反选</title> <script src="js/vue.js"></script></head><body> <h1>全选反选</h1> <div id=

全选反选取消-js代码

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

js购物车全选反选、商品价格统计

模仿淘宝购物车的全选全不选,根据选中的商品计算价格,指定店铺选择.以下是我自己在做H5页面的时候整理出来的,想我一个纯php的来写成这样也不容易.不完善的地方欢迎各位小伙伴指出~ html代码: <body>     <header class="mui-bar mui-bar-nav">         <a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"

js实现全选反选

在前端中用到全选反选的案例并不少,在这里呢我就实现这个功能给大家参考参考. 这里呢就先贴上我的html和css代码 <div class="wrap"> <table> <thead> <tr> <th> <input type="checkbox" id="theadInp" /> </th> <th>快递</th> <th>

JS 全选反选功能

全选按钮:<input type=\"checkbox\" id=\"cheSelectAll\" />选择</li>"); 选择项:<input name=\"chkItem\" type=\"checkbox\" value=\"" + this.ID + "\" /> //全选反选 $("#cheSelectAll"

js全选 反选

// 全选 反选 allChoose: function (o) { var obj = $.extend(true, { id: "#id", name: "name", allSelection: true, invertSelection: true }, o); var $id; if (obj.id.substring(1) === "#") { $id = obj.id; } else { $id = "#" +

jquery实现全选/反选功能

<!DOCTYPE html><html><head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>多选框全选/反选</title> <script src="http://res01.xesimg.com/jquery/jquery.min.js">&l