AngularJS點(diǎn)擊添加樣式、點(diǎn)擊變色設(shè)置的實(shí)例代碼
本文介紹了AngularJS點(diǎn)擊添加樣式、點(diǎn)擊變色設(shè)置的實(shí)例代碼,分享給大家,具體如下:
首先解釋需求是這樣的,有個(gè)列表,當(dāng)你點(diǎn)擊哪一行時(shí),哪一行背景變成灰色,在JQ中,大家都知道,這是非常容易的,加一個(gè)addClass就行了,那么AngularJS如何實(shí)現(xiàn)呢?

下面我們看代碼部分
<!doctype html>
<html ng-app="a2_11">
<head>
<title>添加元素樣式</title>
<script src="../Script/angular.min.js"
type="text/javascript"></script>
<style type="text/css">
body{font-size:12px}
ul{margin:0;padding:0;width:408px;list-style-type:none}
ul li{float:left;padding:5px 0}
ul .odd{color:#0026ff}
ul .even{color:red}
ul .bold{font-weight:700}
ul li span{float:left;padding:0 10px;width:52px}
ul .focus{background-color:#ccc}
</style>
</head>
<body>
<div ng-controller="c2_11">
<ul>
<li ng-class="{{bold}}">
<span>序號(hào)</span>
<span>姓名</span>
<span>性別</span>
<span>是否首條</span>
<span>是否尾條</span>
</li>
<li ng-class-odd="'odd'"
ng-class-even="'even'"
ng-repeat=" stu in data"
ng-click='li_click($index)'
ng-class='{focus: $index==focus}'>
<span>{{$index+1}}</span>
<span>{{stu.name}}</span>
<span>{{stu.sex}}</span>
<span>{{$first?'是':'否'}}</span>
<span>{{$last?'是':'否'}}</span>
</li>
</ul>
</div>
<script type="text/javascript">
var a2_11 = angular.module('a2_11', []);
a2_11.controller('c2_11', ['$scope', function ($scope) {
$scope.bold = "bold";
$scope.li_click = function (i) {
$scope.focus = i;
};
$scope.data = [
{ name: "張明明", sex: "女" },
{ name: "李清思", sex: "女" },
{ name: "劉小華", sex: "男" },
{ name: "陳忠忠", sex: "男" }
];
}]);
</script>
</body>
</html>
1、首先,第一個(gè)< li >元素的"ng-class"值與"bold"屬性值綁定,使得該值指定的樣式加粗,這個(gè)相信大家都能看懂;
2、使用“ng-class-odd”和"ng-class-even"樣式分別綁定奇數(shù)和偶數(shù)行的樣式,從而實(shí)現(xiàn)了隔行換色的功能;
3、最后我們解釋一下,如何使得所點(diǎn)擊的< li >元素變色
①在< li >元素的單擊事件中,將執(zhí)行$scope對(duì)象中添加的"li_click()"方法;
②在該方法中將"$index(行號(hào)值)"作為實(shí)參傳給方法,并將"focus"屬性值設(shè)為“$index”值;
③因此當(dāng)單擊某行< li >元素時(shí),"focus"屬性值將變?yōu)橄鄳?yīng)的"$index";
④此時(shí),< li >元素的"ng-class"樣式指令通過(guò)key/value對(duì)象的方式指定該元素需要添加的樣式,由于單擊< li >元素時(shí),"$index"變量值和"focus"屬性值相同,也就是說(shuō)"$index==focus"的返回值為true;
⑤此時(shí)您應(yīng)該明白了,"ng-class"的樣式指令值變?yōu)?focus";
⑥經(jīng)過(guò)上面的分析及操作,我們實(shí)現(xiàn)了單擊< li >元素時(shí),添加背景樣式的效果.
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
使用AngularJS創(chuàng)建自定義的過(guò)濾器的方法
這篇文章主要介紹了使用AngularJS創(chuàng)建自定義的過(guò)濾器的方法,AngularJS是非常熱門的JavaScript庫(kù),需要的朋友可以參考下2015-06-06
深入學(xué)習(xí)JavaScript的AngularJS框架中指令的使用方法
這篇文章主要介紹了深入學(xué)習(xí)JavaScript的AngularJS框架中指令的使用方法,指令的使用是Angular入門學(xué)習(xí)中的基礎(chǔ)知識(shí),需要的朋友可以參考下2016-03-03
AngularJS實(shí)現(xiàn)單一頁(yè)面內(nèi)設(shè)置跳轉(zhuǎn)路由的方法
這篇文章主要介紹了AngularJS實(shí)現(xiàn)單一頁(yè)面內(nèi)設(shè)置跳轉(zhuǎn)路由的方法,結(jié)合實(shí)例形式分析了AngularJS路由操作相關(guān)設(shè)置與使用技巧,需要的朋友可以參考下2017-06-06
Ionic + Angular.js實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)功能的方法
驗(yàn)證碼倒計(jì)時(shí)這個(gè)功能相信對(duì)大家每個(gè)人來(lái)說(shuō)都不陌生,之前介紹了在Android中的實(shí)現(xiàn)方法,下面這篇文章主要給大家介紹了利用Ionic + Angular.js實(shí)現(xiàn)驗(yàn)證碼倒計(jì)時(shí)功能的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友們下面來(lái)一起看看吧。2017-06-06
Angular.js通過(guò)自定義指令directive實(shí)現(xiàn)滑塊滑動(dòng)效果
這篇文章主要給大家介紹了關(guān)于Angular.js如何通過(guò)自定義指令directive實(shí)現(xiàn)滑塊滑動(dòng)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用angularjs具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-10-10
MODULE_INITIALIZER初始化Angular?懶加載模塊高級(jí)技巧
這篇文章主要為大家介紹了MODULE_INITIALIZER初始化Angular懶加載模塊高級(jí)技巧示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10
angular ng-click防止重復(fù)提交實(shí)例
本篇文章主要介紹了angular ng-click防止重復(fù)提交實(shí)例,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06

