#javascript #angularjs
#javascript #angularjs
Вопрос:
Я создал функцию validateCode()
, и когда пользователь нажимает на кнопку validateCode()
, она срабатывает.
Я хочу изменить высоту <div class="loginForm"> </div>
при нажатии кнопки.
Я пытался: http://jsfiddle.net/Lvc0u55v/10358 /
Комментарии:
2. Вы также можете использовать ngClass — docs.angularjs.org/api/ng/directive/ngClass
Ответ №1:
Вот решение с использованием ngClass:
angular
.module('LoginForm', [])
.controller('mainController', [function() {
var self = this;
self.validateCode = function() {
self.setLoginFormModified = true;
};
}]);
.loginForm {
height:140px;
width:150px;
background-color:blue;
}
.loginFormModified {
height: 500px;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<section
ng-app="LoginForm"
ng-controller="mainController as ctrl"
ng-class="{'loginForm': true, 'loginFormModified': ctrl.setLoginFormModified}">
<button ng-click="ctrl.validateCode()">
Click me
</button>
</section>
Ответ №2:
Это еще один метод, который вы также можете принять во внимание. Это подходит для простого изменения стиля. Предлагается создать функцию для изменения нескольких стилей, если у вас есть более сложные случаи.
.loginForm {
height: 140px;
width: 150px;
background-color: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.0.7/angular.min.js"></script>
<section class="loginForm" ng-app="LoginForm"
ng-controller="mainController" ng-style="modifiedamp;amp;{'height':'500px'}">
<button ng-click="modified=true">
Click me
</button>
</section>
<script>
var app = angular.module('LoginForm', []);
app.controller('mainController',[function(){}]);
</script>
Ответ №3:
определите два свойства стиля следующим образом :
<style>
.loginFormInitialStyle{
height:140px;
width:150px;
background-color:blue;
}
.loginFormChangeStyle{
height:500px;
width:150px;
background-color:blue;
}
</style>
затем используйте ng-class вместо class следующим образом
<div ng-class="loginForm"></div>
затем определите объект $scope.LoginForm с двумя свойствами loginFormInitialStyle и loginFormChangeStyle со значениями по умолчанию.
$scope.loginForm = {"loginFormInitialStyle":true, loginFormChangeStyle:false}
затем в вашей функции on-click просто измените значения loginFormObject
$scope.onClick = function(){
$scope.loginForm = {"loginFormInitialStyle":false, loginFormChangeStyle:true}
}