单击时更改按钮的背景颜色

时间:2015-12-22 11:28:50

标签: angularjs

我想在点击按钮时更改按钮的背景颜色

HTML code:

<div class="btn-group">
    <button type="button" class="btn btn-default" ng-click="style1()">
        Celsius
    </button>
     <button type="button" class="btn btn-default" ng-click="style2()">
        Fahrenheit
    </button>
</div>

角度代码,其中应更改按钮的背景颜色:

$scope.style
 {
 };
$scope.style2
 {
 }

4 个答案:

答案 0 :(得分:6)

你应该这样做

angular.module('myapp',[]).controller('testCtrl', function($scope){});
<html ng-app="myapp">

<head>
  <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
</head>

<body ng-controller="testCtrl">
  <div class="btn-group" ng-init="style={'background-color' : 'green'}">
    <button type="button" class="btn btn-default" ng-style="style1"
            ng-click="style1=style; style2=null">Celsius</button>
    <button type="button" class="btn btn-default" ng-style="style2"
            ng-click="style2=style; style1=null">Fahrenheit</button>
  </div>
  <br>
</body>

</html>

答案 1 :(得分:4)

你可以准备css类:

.clicked 
{
color:red;
}

<强> HTML:

    <div class="btn-group">
        <button type="button" class="btn btn-default" ng-click="buttonClick('Celsius')" ng-class="{'clicked': selectedButton== 'Celsius'  }">
            Celsius
        </button>
         <button type="button" class="btn btn-default" ng-click="buttonClick('Fahrenheit')" ng-class="{'clicked': selectedButton== 'Fahrenheit'  }">
            Fahrenheit
        </button>
    </div>

并在click函数中给出一个类名:

$scope.buttonClick= function (s){$scope.selectedButton =s }

http://jsfiddle.net/ms403Ly8/38/

答案 2 :(得分:0)

我会使用基于范围表达式应用css样式或类的ng-classng-style。有关详细信息,请参阅角度文档。

答案 3 :(得分:0)

从此代码中获取帮助

<html ng-app="app">
<head>
<title>example</title>
<style type="text/css">

  .red{
    color:red;
  }
  .blue{
    color:blue;
  }

</style>
</head>
<body ng-controller="con">
<div ng-class="class">{{class}}</div>
<button ng-click="changeClass()">Change Class</button>

<script type="text/javascript" src="js/angular.min.js"></script>
<script type="text/javascript">
  var app = angular.module("app",[]);

  app.controller("con",function($scope){

    $scope.class = "red";

    $scope.changeClass = function(){
      if ($scope.class === "red")
        $scope.class = "blue";
      else
        $scope.class = "red";
    };
  });
</script>