2015-11-26 2 views
0

Привет У меня есть DIV оповещения следующим образом,Как исчезнуть оповещения DIV после показа его

<div style="width: 12%;" ng-if="final_data.status =='confirmed'" class="alert alert-success" role="alert" align="left" ng-cloak> 
     <span class="glyphicon glyphicon-ok"></span>&nbsp;&nbsp;confirmed</div> 

DIV будет всплывающее, когда состояние становится подтверждено. Как я могу автоматически скрыть div после его отображения? Есть идеи, ребята?

+0

Есть кнопка, которая устанавливает final_data.status, чтобы не было подтверждено? – Shaun

ответ

1

Вы можете использовать JavaScript, чтобы удалить его:

setTimeout(function(){ 
    var elements = document.getElementsByClassName('alert'); 
    while(elements.length > 0){ 
     elements[0].parentNode.removeChild(elements[0]); 
    } 
},500); 
+0

У него есть Ng-if - несмотря на то, что его метки назначены. Я предполагаю, что это вопрос угловатый. – Shaun

+0

Или вы можете добавить кнопку закрытия в этом сообщении состояния. При щелчке вы можете удалить элемент. –

+0

Douwe, использую угловойJS. Итак, как я могу использовать эту функцию? нг скрывать? – vellattukudy

0

Попробуйте это:

Изменить

ng-if 

в

ng-hide 

И затем использовать тайм-аут на яваскрипт ViewModel/контроллер:

setTimeout(function{ 
    final_data.status = 'confirmed' ; 
}, 1000); 

И это на HTML:

<div style="width: 12%;" ng-hide="final_data.status=='confirmed'" class="alert alert-success" role="alert" align="left" ng-cloak> <span class="glyphicon glyphicon-ok"></span>&nbsp;&nbsp;confirmed</div> 

рад помочь вам

+0

Это не работает/не работал Игорь .. – vellattukudy

+0

Я обновляю. Попробуйте еще раз –

0

Вы можете наблюдать, когда статус получает изменено на "подтвердил" и сделать что-то.

<div style="width: 12%;" ng-show="canShow" ng-if="final_data.status =='confirmed'" class="alert alert-success" role="alert" align="left" ng-cloak> 
    <span class="glyphicon glyphicon-ok"></span>&nbsp;&nbsp;confirmed</div> 


$scope.canShow = true; 
$scope.$watch('final_data.status', function (newValue, oldValue)) { 
    if(newValue === 'confirmed') { 
     $timeout(function() { 
      $scope.canShow = false; 
     }, 1000); 
    } 
}); 
+0

Немного нового для AngJS. Как передать это html? – vellattukudy

+0

Вам нужно добавить этот раздел часов в свой контроллер. Это все. Если вы измените статус через 1 минуту, он автоматически скроет div. –

+0

Это единственный способ, вы можете действовать, как только статус изменится на подтвержденный. –

Смежные вопросы