javascript - 使用 angularjs 每次点击更改 css 属性

标签 javascript html css angularjs

检查这个Link ,每次用户单击按钮时,我都试图更改边距。我能够更改背景属性,不知道 Margin 属性出了什么问题。

这是我想要实现的目标:

  1. 边距应在每次点击时修改,而不仅仅是一次。所以在第一次点击时,如果我的左边距是 20px,在第二次点击时它将是 40px,依此类推。
  2. 达到特定边距(即 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/

相关文章:

Javascript/ES2015,计算出现次数并将其存储为数组中的对象

html - Bootstrap 3 并排容器

css - 在内容上带有菜单的单页

javascript - 鼠标悬停移动图像位置

javascript - 类型 '(event: React.MouseEvent) => void' 不可分配给类型 '(e?: MouseEvent<Element, MouseEvent> | undefined) => void'

JavaScript数组到PNG? - 客户端

javascript - 将 JSON 值附加到Figcaption

html - 响应式网站重叠

javascript - 计算下拉列表中行星的重量并将其打印到输入类型

css - padding-left 和 left 属性 CSS 的区别