如何通过单击按钮隐藏div?

时间:2014-09-10 15:11:55

标签: angularjs onclick

在我的angular.js学习项目中,我想隐藏一个div并在单击按钮时显示另一个div。 在这段代码中,我喜欢在点击时隐藏的第一个div(甚至是被破坏的?)和要显示的第二个div。 基本上我想要在我的应用程序中从第1页到第2页的用户体验。 我该如何实现这一目标?

的index.html

  <ion-content ng-controller="StartpageCtrl">

      <div class="list card" id="startCard" ng-show="showstartCard">
          <div class="item item-image item item-text-wrap">
              Card 1
          </div>
      </div>
      <div class="list card" id="secondCard" ng-show="showsecondCard">
          <div class="item item-image item item-text-wrap">
              Card 2
          </div>
      </div>

      <button ng-click="hideCard()" class="button button-full button-calm button icon-right ion-chevron-right">
          Start now
      </button>

  </ion-content>

controllers.js

.controller("StartpageCtrl", funcion($scope){
    $scope.showstartCard = true;
    $scope.showsecondCard = false;

    $scope.hideCard = function() {
        $scope.showstartCard = false;
        $scope.showsecondCard = true;
    };
});

当我运行页面时,我看到&#34;卡2&#34;单击按钮时没有任何反应。 我想看到的是&#34;卡1&#34;并切换到&#34;卡2&#34;当我点击按钮...


解决 我忘记在app.js angular.module中添加对controllers.js的引用以及index.html中的脚本标记。现在工作正常。

2 个答案:

答案 0 :(得分:1)

Using angular:   
 HTML file:
    <td><a href="#" ng-click="showDetails =! showDetails">Source Doc..</a>
                <div id="mydiv" ng-show="showDetails">
                    <div id="mydiv-container">
                        <div id="mydiv-content">
                            <a href="#" ng-click="showDetails =! showDetails">Close</a>
                            <br>
                            hello
                        </div>
                    </div>
                </div>

                </td>



    css file:
    body {
        height: 100%;
        background-color: #F0F0F0;
        font-family: Arial, sans-serif;
    }
    #mydiv {
        width: 100%;
        height: 100%;
        overflow: hidden;
        left: 100px;
        top: 150px;
        position: absolute;
        opacity: 0.95;

    }
    #mydiv-container {
        margin-left: auto;
        margin-right: auto;
    }
    #mydiv-content {
        width: 70%;
        padding: 20px;
        background-color: white;
        border: 1px solid #6089F7;
    }
    a {
        color: #5874BF;
        text-decoration: none;
    }
    a:hover {
        color: #112763;
    }

答案 1 :(得分:0)

如果您正在寻找切换,那么这段代码可能有所帮助,因为不需要任何额外的CSS或JS功能。

<button ng-click="isDetailOpen = !isDetailOpen"
        ng-class="!isDetailOpen ? 'ion-ios-arrow-down' : 'ion-ios-arrow-up'"
        class="button button-clear button-positive icon-right">
  <span ng-show="!isDetailOpen">More Detail</span>
  <span ng-show="isDetailOpen">Less Detail</span>
</button>
<div ng-show="isDetailOpen">
  <p>Per ad ferri dicta, omnis laudem dicunt duo an. Ex pri solum definitiones.</p>
</div>

我在开展Angular-Ionic项目时想出来了。