angular.js - 如何在ng-repeat时默认第一个元素background-color为红色,点击对应元素背景变红同时更换其他全为黑色

浏览:22日期:2023-01-06

问题描述

就是在ng-click中动态更改样式,请问有什么思路或方法嘛?急急急!!在线等!!!拜托了各位大神!!

问题解答

回答1:

提供一个简单思路:JS:

$scope.isActive = 0;$scope.arr = [ {//code here }, {//code here }];$scope.selectItem = function (index) { item.isActive = index;}

HTML:

<ul> <li ng-repeat='item in arr track by $index' ng- ng-click='selectItem($index)'></li></ul>

CSS:

.red { background: red;}.black { background: black;}

修改你的代码就是这样:

HTML:

<p ng-repeat='e in item.images'> <p ng- ng-click='changeGood($index)'><img src='https://www.6hehe.com/wenda/{{e.path}}'> </p> <span class='ib w50p fs0-6 span-over'>{{e.description}}</span></p>

controller:

$scope.isActive=0;$scope.changeGood=function(index){ $scope.isActive=index; }回答2:

我之前回答过另一个人提出的和你类似的问题,我直接把之前写的demo改一改发给你了,完全符合你的要求,你预览下,如果看不到效果就要翻下墙,demo如下:Demo

相关文章: