检查这个Link ,每次用户单击按钮时,我都试图更改边距。我能够更改背景属性,不知道 Margin 属性出了什么问题。
这是我想要实现的目标:
- 边距应在每次点击时修改,而不仅仅是一次。所以在第一次点击时,如果我的左边距是 20px,在第二次点击时它将是 40px,依此类推。
- 达到特定边距(即 200 像素)后,按钮应消失/禁用。
我知道这是可以做到的,但由于我是 Angular 的新手,所以无法弄清楚?
HTML
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
<script src="https://code.angularjs.org/1.3.0-beta.5/angular.js"></script>
</head>
<body>
<div ng-app>
<p ng-style="myStyle">:( Margin will play with me</p>
<input type="button" value="Margin Change(Not Working)" ng-click="myStyle={margin-left:'20px'}" />
<span><bold>Please note margin should be changed on each click</bold></span>
<input type="button" value="BG Change Working" ng-click="myStyle={background:'red'}" />
<ul>
<li> <a href="#">Home</a>
</li>
<li> <a href="#">About</a>
</li>
<li> <a href="#">Contact</a>
</li>
<li> <a href="#">Home</a>
</li>
<li> <a href="#">About</a>
</li>
<li> <a href="#">Contact</a>
</li>
<li> <a href="#">Home</a>
</li>
<li> <a href="#">About</a>
</li>
<li> <a href="#">Contact</a>
</li>
</ul>
CSS
.changeColor {
color:blue;
}
.changeSize {
font-size:30px;
}
.italic {
font-style:italic;
}
ul {
list-style:none;
margin:0;
padding:0;
}
li {
float:left;
}
li + li {
border-left:1px solid #ccc;
}
a {
display:block;
padding:7px 10px;
color:#222;
background:#eee;
text-decoration:none;
}
a:hover {
color:#fff;
background:#666;
}
a:active {
color:#fff;
background:#0090cf;
}
最佳答案
您好,请看这里:http://plnkr.co/edit/vNpUQh0TV8qGCifpJofa?p=preview 您需要将逻辑功能移动到 Controller 中。
JS:
app.controller('MainCtrl', function($scope) {
$scope.margin = 0;
$scope.showbutton = true;
$scope.addMargin = function() {
$scope.margin += 20;
if ($scope.margin < 200) {
$scope.myStyle = {
'margin-left': $scope.margin + 'px'
}
} else {
$scope.showbutton = false;
}
}
});
HTML
<input type="button" value="Margin Change(Not Working)" ng-click="addMargin()" />
关于javascript - 使用 angularjs 每次点击更改 css 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25178757/