1. 程式人生 > >ul列表選中變色效果

ul列表選中變色效果

一: 先定義css樣式

<style type="text/css">

	.selectedCss{
	    background-color: #1E1E1E;
	    font-family: "微軟雅黑";
	    font-size: 120%;
	    color: aquamarine;
	}

    .normalCss{
        background-color: darkgreen;
        font-family: "微軟雅黑";
        font-size: 120%;
        color: aquamarine;
    }
</style>

二:實現js指令碼

<script type="application/javascript">
	$(function(){
		generateLi();
	});

		

	//動態生成li,點選改變其他li顏色
	function generateLi(){
		for (var i = 0; i < 6; i++) {
			$("#jquery_genr")
				.append(
				"<li 
				id='li"+i+"' 
				class='normalCss' 
				onclick='changeColor2(this,"+i+")'
> 我是li_"+i+" </li>"); } } //=================================// //=========以下兩個方法都可以實現========// //=================================// //只修改指定ul下的li列表 function changeColor(obj){ //改變所有li樣式,尋找id為jquery_genr的ul元素的所有li元素 $("ul[id=jquery_genr] >li") .removeClass() .addClass("normalCss"
);; //改變當前li樣式 $(obj).addClass("selectedCss"); } //只修改指定ul下的li列表 function changeColor2(obj,i){ $(obj).removeClass().addClass("selectedCss"); //選中id為li+i的元素的同胞元素(不包括自己)來修改樣式 $("ul[id=jquery_genr] > li[id=li"+i+"]") .siblings() .removeClass() .addClass("normalCss"); } </script>

三:html-body內容

<body>
	<font color="#CC3333" style="font-family: 微軟雅黑">以下是加了選擇事件的列表:</font><br/>
	<ul id="jquery_genr">
	</ul>
	
	<font color="#CC3333" style="font-family: 微軟雅黑">以下是普通列表:</font><br/>
	<ul id="jquery_genr2" >
		<li class='normalCss'>我是li_0</li>
		<li class='normalCss'>我是li_1</li>
		<li class='normalCss'>我是li_2</li>
		<li class='normalCss'>我是li_3</li>
		<li class='normalCss'>我是li_4</li>
		<li class='normalCss'>我是li_5</li>
	</ul>
	
</body>

四:效果圖
這裡寫圖片描述

五:完整程式碼

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>指定ul下li列表選中效果</title>
		
		<script src="js/jquery-1.8.0.min.js" type="application/javascript"></script>
		
		<style type="text/css">
			
			.selectedCss{
				background-color: #1E1E1E;
				font-family: "微軟雅黑";
				font-size: 120%;
				color: aquamarine;
			}
			
			.normalCss{
				background-color: darkgreen;
				font-family: "微軟雅黑";
				font-size: 120%;
				color: aquamarine;
			}
		</style>
		
		<script type="application/javascript">
			$(function(){
				generateLi();
			});
			
			//動態生成li,點選改變其他li顏色
			function generateLi(){
				for (var i = 0; i < 6; i++) {
					$("#jquery_genr").append("<li id='li"+i+"' class='normalCss' onclick='changeColor2(this,"+i+")'>我是li_"+i+"</li>");
				}
			}
			
			//只修改指定ul下的li列表
			function changeColor(obj){
				//改變所有li樣式,尋找id為jquery_genr的ul元素的所有li元素
				$("ul[id=jquery_genr] > li").removeClass().addClass("normalCss");;
				//改變當前li樣式
				$(obj).addClass("selectedCss");
			}
			
			//只修改指定ul下的li列表
			function changeColor2(obj,i){
				$(obj).removeClass().addClass("selectedCss");
				//選中id為li+i的元素的同胞元素(不包括自己)來修改樣式
				var objlis = $("ul[id=jquery_genr] > li[id=li"+i+"]").siblings();
				//改變其他li樣式
				objlis.removeClass().addClass("normalCss");;
			}
			
		</script>
	
	
	</head>
	<body>
		<font color="#CC3333" style="font-family: 微軟雅黑">以下是加了選擇事件的列表:</font><br/>
		<ul id="jquery_genr">
		</ul>
		
		<font color="#CC3333" style="font-family: 微軟雅黑">以下是普通列表:</font><br/>
		<ul id="jquery_genr2" >
			<li class='normalCss'>我是li_0</li>
			<li class='normalCss'>我是li_1</li>
			<li class='normalCss'>我是li_2</li>
			<li class='normalCss'>我是li_3</li>
			<li class='normalCss'>我是li_4</li>
			<li class='normalCss'>我是li_5</li>
		</ul>
	
	</body>
	
</html>