Angularjs 单击项目时如何设置背景色?
HTMLAngularjs 单击项目时如何设置背景色?,angularjs,angularjs-directive,angularjs-scope,Angularjs,Angularjs Directive,Angularjs Scope,HTML <ul class="ul_nav"> <li ng-class="class" ng-click="changeClass()">Marketing</li> <li ng-class="class" ng-click="changeClass()">Sells Team Nestle</li> <li ng-class="class" ng-click="changeClass()">
<ul class="ul_nav">
<li ng-class="class" ng-click="changeClass()">Marketing</li>
<li ng-class="class" ng-click="changeClass()">Sells Team Nestle</li>
<li ng-class="class" ng-click="changeClass()">Marketing Test</li>
<li ng-class="class" ng-click="changeClass()">Marketing </li>
</ul>
CSS
.ul_nav{
margin-top:15px;
list-style:none;
padding:0;
height:600px;
}
.ul_nav > li{
padding: 3px 0 3px 25px;
cursor:pointer;
}
.ul_nav > li:hover{
background:#ff9900;
color:#fff;
}
.nav_color{
background:#fff;
color:#000;
}
.nav_active{
background:#ff9900;
color:#fff;
}
在这里,我可以更改导航的背景颜色。但当我点击一个项目,它会改变所有4个项目的背景颜色。如何解决这个问题。
HTML:
<ul class="ul_nav">
<li ng-class="{class : classVar==='Marketing" }' ng-click="changeClass('Marketing')">Marketing</li>
<li ng-class="{class : classVar==='Sells' }" ng-click="changeClass('Sells')">Sells Team Nestle</li>
<li ng-class="{class : classVar==='MarketingTest' }" ng-click="changeClass('MarketingTest')">Marketing Test</li>
<li ng-class="{class : classVar==='Marketing1' }" ng-click="changeClass('Marketing1')">Marketing </li>
</ul>
选中此项您需要对代码进行以下更改 标记
<ul class="ul_nav">
<li ng-class="class1" ng-click="changeClass('class1')">Marketing</li>
<li ng-class="class2" ng-click="changeClass('class2')">Sells Team Nestle</li>
<li ng-class="class3" ng-click="changeClass('class3')">Marketing Test</li>
<li ng-class="class4" ng-click="changeClass('class4')">Marketing </li>
</ul>
您是否正在使用ng repeat创建此
li
。。??
$scope.changeClass = function(value){
$scope.classVar= value;
};
$scope.myVar = false;
$scope.toggle = function() {
$scope.myVar = !$scope.myVar;
};
<ul class="ul_nav">
<li ng-class="class1" ng-click="changeClass('class1')">Marketing</li>
<li ng-class="class2" ng-click="changeClass('class2')">Sells Team Nestle</li>
<li ng-class="class3" ng-click="changeClass('class3')">Marketing Test</li>
<li ng-class="class4" ng-click="changeClass('class4')">Marketing </li>
</ul>
$scope.changeClass = function(className) {
className = (className === "nav_color") ? "nav_active" : "nav_color";
};