Reputation: 777
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()">Marketing Test</li>
<li ng-class="class" ng-click="changeClass()">Marketing </li>
</ul>
Angularjs
$scope.changeClass = function(){
if ($scope.class === "nav_color")
$scope.class = "nav_active";
else
$scope.class = "nav_color";
};
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;
}
Here I can change background colour of navigation. But when I click on one item it will change all 4 item's background color. How to fix this issue. Plunker
Upvotes: 1
Views: 2839
Reputation: 136134
You need to make below changes in code.
Markup
<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>
Code
$scope.changeClass = function(className) {
className = (className === "nav_color") ? "nav_active" : "nav_color";
};
Upvotes: 0
Reputation: 5466
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>
JS:
$scope.changeClass = function(value){
$scope.classVar= value;
};
$scope.myVar = false;
$scope.toggle = function() {
$scope.myVar = !$scope.myVar;
};
Check this Plunker
Upvotes: 3