JQuery的幾個簡單小案例
- 實現表格的的隔行換色
- 實現複選框的全選與全不選
- QQ表情的選擇
- 多選下拉列表的左右移動
實現表格的的隔行換色
需求:事先製作一個如圖所示的table表格,將數據行的奇數行背景色設置爲 pink,偶數行背景色設置爲 yellow
- 分析
用過濾選擇器獲取數據行tr標籤,選擇奇偶數行,分別設置背景
預先編寫的表格
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../../js/jquery-3.3.1.min.js"></script>
<script>
//需求:將數據行的奇數行背景色設置爲 pink,偶數行背景色設置爲 yellow
// 入口函數
$(function () {
// 分析
// 用過濾選擇器獲取數據行tr標籤,選擇奇數行,設置背景色爲pink
$("tr:gt(1):odd").css("background","pink");
// 獲取數據行tr標籤,選擇偶數行,設置背景色爲yellow
$("tr:gt(1):even").css("background","yellow");
});
</script>
</head>
<body>
<table id="tab1" border="1" width="800" align="center" >
<tr>
<td colspan="5"><input type="button" value="刪除"></td>
</tr>
<tr style="background-color: #999999;">
<th><input type="checkbox"></th>
<th>分類ID</th>
<th>分類名稱</th>
<th>分類描述</th>
<th>操作</th>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>1</td>
<td>手機數碼</td>
<td>手機數碼類商品</td>
<td><a href="">修改</a>|<a href="">刪除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>2</td>
<td>電腦辦公</td>
<td>電腦辦公類商品</td>
<td><a href="">修改</a>|<a href="">刪除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>3</td>
<td>鞋靴箱包</td>
<td>鞋靴箱包類商品</td>
<td><a href="">修改</a>|<a href="">刪除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>4</td>
<td>家居飾品</td>
<td>家居飾品類商品</td>
<td><a href="">修改</a>|<a href="">刪除</a></td>
</tr>
</table>
</body>
</html>
實現隔行換色的表格
實現複選框的全選與全不選
需求:對上述編寫之前的表格進行處理,使點擊表格最上面的複選框,完成全選與全不選功能
- 分析
- 已經設置了首行復選框,爲其添加了點擊事件,
- 要設置下面的複選框狀態與第一行的複選框狀態一致;可以設置該點擊事件函數,使下面的複選框狀態與此狀態相同
- 用類選擇器獲取下面的複選框,用prop操作選中屬性值checked
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../../js/jquery-3.3.1.min.js"></script>
<script>
// 需求:點擊上面的複選框,完成全選與全不選功能
// 分析
// 已經設置了首行復選框,爲其添加了點擊事件,
// 要設置下面的複選框狀態與第一行的複選框狀態一致;可以設置該點擊事件函數,使下面的複選框狀態與此狀態相同
// 用類選擇器獲取下面的複選框,用prop操作選中屬性值checked
function selectAll(obj) {
$(".itemSelect").prop("checked",obj.checked);
}
</script>
</head>
<body>
<table id="tab1" border="1" width="800" align="center" >
<tr>
<td colspan="5"><input type="button" value="刪除"></td>
</tr>
<tr>
<th><input type="checkbox" onclick="selectAll(this)" ></th>
<th>分類ID</th>
<th>分類名稱</th>
<th>分類描述</th>
<th>操作</th>
</tr>
<tr>
<td><input type="checkbox" class="itemSelect"></td>
<td>1</td>
<td>手機數碼</td>
<td>手機數碼類商品</td>
<td><a href="">修改</a>|<a href="">刪除</a></td>
</tr>
<tr>
<td><input type="checkbox" class="itemSelect"></td>
<td>2</td>
<td>電腦辦公</td>
<td>電腦辦公類商品</td>
<td><a href="">修改</a>|<a href="">刪除</a></td>
</tr>
<tr>
<td><input type="checkbox" class="itemSelect"></td>
<td>3</td>
<td>鞋靴箱包</td>
<td>鞋靴箱包類商品</td>
<td><a href="">修改</a>|<a href="">刪除</a></td>
</tr>
<tr>
<td><input type="checkbox" class="itemSelect"></td>
<td>4</td>
<td>家居飾品</td>
<td>家居飾品類商品</td>
<td><a href="">修改</a>|<a href="">刪除</a></td>
</tr>
</table>
</body>
</html>
全選複選框實現結果
QQ表情的選擇
需求:點擊qq表情,將其追加到發言框中
- 分析
- 表情位於ul標籤下,是一些img圖片;需要爲這些對象添加點擊事件
- 可以用層級選擇器獲取表情對象
- 發言框是一些p標籤,要追加,則可以用CRUD操作中的append方法
- 追加後原位置也不希望消失,所以需要使用clone方法,但是js與JQuery不能通用,所以需要將js先轉爲JQuery對象才能調用clone方法
預先編寫的qq表情選擇頁面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>QQ表情選擇</title>
<script src="../../js/jquery-3.3.1.min.js"></script>
<style type="text/css">
*{margin: 0;padding: 0;list-style: none;}
.emoji{margin:50px;}
ul{overflow: hidden;}
li{float: left;width: 48px;height: 48px;cursor: pointer;}
.emoji img{ cursor: pointer; }
</style>
<script>
//需求:點擊qq表情,將其追加到發言框中
// 分析:表情位於ul標籤下,是一些img圖片;需要爲這些對象添加點擊事件
// 可以用層級選擇器獲取表情對象
// 發言框是一些p標籤,要追加,則可以用CRUD操作中的append方法
// 追加後原位置也不希望消失,所以需要使用clone方法,但是js與JQuery不能通用,所以需要將js先轉爲JQuery對象才能調用clone方法
// 入口函數
$(function () {
$("ul img").click(function () {
$("p").append($(this).clone());
});
});
</script>
</head>
<body>
<div class="emoji">
<ul>
<li><img src="img/01.gif" height="22" width="22" alt="" /></li>
<li><img src="img/02.gif" height="22" width="22" alt="" /></li>
<li><img src="img/03.gif" height="22" width="22" alt="" /></li>
<li><img src="img/04.gif" height="22" width="22" alt="" /></li>
<li><img src="img/05.gif" height="22" width="22" alt="" /></li>
<li><img src="img/06.gif" height="22" width="22" alt="" /></li>
<li><img src="img/07.gif" height="22" width="22" alt="" /></li>
<li><img src="img/08.gif" height="22" width="22" alt="" /></li>
<li><img src="img/09.gif" height="22" width="22" alt="" /></li>
<li><img src="img/10.gif" height="22" width="22" alt="" /></li>
<li><img src="img/11.gif" height="22" width="22" alt="" /></li>
<li><img src="img/12.gif" height="22" width="22" alt="" /></li>
</ul>
<p class="word">
<strong>請發言:</strong>
<img src="img/12.gif" height="22" width="22" alt="" />
</p>
</div>
</body>
</html>
實現QQ表情選擇的界面
多選下拉列表的左右移動
需求:實現下拉列表選擇條目左右選擇功能
- 分析
- 分別爲兩個按鈕添加單擊事件
- –>按鈕中,需要獲取左邊菜單中選中的條目option,追加到右邊select標籤的末尾
- <–按鈕中,需要獲取右邊菜單中選中的條目option,追加到左邊select標籤的末尾
- 獲取選中的option;可以使用其固有的selected屬性進行過濾,需使用層級選擇器辨別左右下拉框
- 使用表單過濾選擇器辨別是否選中該項
預先編寫的兩個下拉列表頁面
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../../js/jquery-3.3.1.min.js"></script>
<style>
#leftName , #btn,#rightName{
float: left;
width: 100px;
height: 300px;
}
#toRight,#toLeft{
margin-top:100px ;
margin-left:30px;
width: 50px;
}
.border{
height: 500px;
padding: 100px;
}
</style>
<script>
//需求:實現下拉列表選擇條目左右選擇功能
// 分析:分別爲兩個按鈕添加單擊事件
// -->按鈕中,需要獲取左邊菜單中選中的條目option,追加到右邊select標籤的末尾
// <--按鈕中,需要獲取右邊菜單中選中的條目option,追加到左邊select標籤的末尾
// 獲取選中的option;可以使用其固有的selected屬性進行過濾,需使用層級選擇器辨別左右下拉框
// 使用表單過濾選擇器辨別是否選中該項
// 入口函數
$(function () {
// -->按鈕的單擊事件
$("#toRight").click(function () {
// 使用appendTo將左邊菜單中選中的條目option,追加到右邊select標籤的末尾
$("#leftName option:selected").appendTo($("#rightName"));
});
// <--按鈕的單擊事件
$("#toLeft").click(function () {
// 使用append像左邊select標籤末尾追加右邊菜單中選中的條目option
$("#leftName").append($("#rightName option:selected"));
});
});
</script>
</head>
<body>
<div class="border">
<select id="leftName" multiple="multiple">
<option>張三</option>
<option>李四</option>
<option>王五</option>
<option>趙六</option>
</select>
<div id="btn">
<input type="button" id="toRight" value="-->"><br>
<input type="button" id="toLeft" value="<--">
</div>
<select id="rightName" multiple="multiple">
<option>錢七</option>
</select>
</div>
</body>
</html>
實現左右移動的下拉列表