您好,登錄后才能下訂單哦!
本文介紹了AngularJS點擊添加樣式、點擊變色設(shè)置的實例代碼,分享給大家,具體如下:
首先解釋需求是這樣的,有個列表,當你點擊哪一行時,哪一行背景變成灰色,在JQ中,大家都知道,這是非常容易的,加一個addClass就行了,那么AngularJS如何實現(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>序號</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、首先,第一個< li >元素的"ng-class"值與"bold"屬性值綁定,使得該值指定的樣式加粗,這個相信大家都能看懂;
2、使用“ng-class-odd”和"ng-class-even"樣式分別綁定奇數(shù)和偶數(shù)行的樣式,從而實現(xiàn)了隔行換色的功能;
3、最后我們解釋一下,如何使得所點擊的< li >元素變色
①在< li >元素的單擊事件中,將執(zhí)行$scope對象中添加的"li_click()"方法;
②在該方法中將"$index(行號值)"作為實參傳給方法,并將"focus"屬性值設(shè)為“$index”值;
③因此當單擊某行< li >元素時,"focus"屬性值將變?yōu)橄鄳?yīng)的"$index";
④此時,< li >元素的"ng-class"樣式指令通過key/value對象的方式指定該元素需要添加的樣式,由于單擊< li >元素時,"$index"變量值和"focus"屬性值相同,也就是說"$index==focus"的返回值為true;
⑤此時您應(yīng)該明白了,"ng-class"的樣式指令值變?yōu)?focus";
⑥經(jīng)過上面的分析及操作,我們實現(xiàn)了單擊< li >元素時,添加背景樣式的效果.
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持億速云。
免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。