javascript - Disable collapsing animation in bootstrap on "close" click -


i have made collapsing panels bootstrap. added method "close" , remove panels using angular. problem when close panel, collapsing, open/close functionality still works. panel might open , disappear, when should disappear.

here simplified version of html

    <div class="panel-group">     <div class="panel panel-info fadein fadeout" ng-repeat="p in panels">         <div class="panel-heading" data-toggle="collapse" data-target="#test_{{p}}" style="cursor:pointer">             <h4 class="panel-title">                 open / close - {{p}}                 <span class="glyphicon glyphicon-remove pull-right" ng-click="close(p)"></span>             </h4>         </div>          <div id="test_{{p}}" class="panel-collapse collapse" aria-expanded="false">             <div class="panel-body">                 hello {{p}}             </div>         </div>     </div> </div>   

and angularjs

angular.module('app', ['nganimate'])  .controller('controller', function($scope){      var = 4;      $scope.panels = ['panel_1', 'panel_2', 'panel_3']      $scope.add = function(){         console.log('add');       $scope.panels.push('panel_' + i++);     }      $scope.close = function (p) {          console.log('close ' + p);              (var = 0; < $scope.panels.length; i++){                 if ($scope.panels[i] == p){                     $scope.panels.splice(i, 1);             }         }          } }); 

made fiddle illustrate:

https://jsfiddle.net/fiddlejan/82bmcyt0/

when click on close, cross on right. panel "open", disappear (the fadeout animation not seem work here). close button remove panel when click close. not "open" or "close" panel.

so in case of clicking close button, panels collapsing, opening/close function should disabled.

add event object ng-click definition:

<span class="glyphicon glyphicon-remove pull-right" ng-click="close(p, $event)"></span> 

and use object in event handler:

    $scope.close = function (p, e) {              console.log('close ' + p);           (var = 0; < $scope.panels.length; i++){             if ($scope.panels[i] == p){                 $scope.panels.splice(i, 1);         }     }     e.stoppropagation();      } 

Comments

Popular posts from this blog

Hatching array of circles in AutoCAD using c# -

ios - UITEXTFIELD InputView Uipicker not working in swift -

Python Pig Latin Translator -