您的位置:首页 > Web前端 > AngularJS

Angularjs全局警告框

2016-01-08 12:44 691 查看
<!DOCTYPE html>

<html lang="zh-CN">

<head>

<meta charset="utf-8">

<meta http-equiv="X-UA-Compatible" content="IE=edge">

<meta name="viewport" content="width=device-width, initial-scale=1">

<link rel="stylesheet" href="bootstrap.min.css">

<script src="jquery.min.js"></script>

<script src="angular.js"></script>

<script src="angular-animate.js"></script>

<script src="bootstrap.min.js"></script>

<script type="text/javascript">

var myapp = angular.module('myapp', ['ngAnimate']);

myapp.controller('msgController', ['$scope', 'notificationService', function($scope, notificationService) {

$scope.msg = notificationService;

$scope.show = function() {

notificationService.danger('success');

}

}]);

myapp.controller('controller', ['$scope', 'notificationService', function($scope, notificationService) {

$scope.show = function() {

notificationService.info('info');

}

}]);

myapp.directive('msgBox', function() {

return {

restrict : 'EA',

scope : {

content: '@',

type: '@',

},

templateUrl : 'tmpl.html',

link : function(scope, elem, attrs) {

scope.close = function() {

scope.content = '';

};

}

};

});

myapp.factory('notificationService', function($timeout, $rootScope) {

return {

content : '',

type : '',

success : function(content) {

this.tmpl(content, 'success')

},

info : function(content) {

this.tmpl(content, 'info')

},

warning : function(content) {

this.tmpl(content, 'warning')

},

danger : function(content) {

this.tmpl(content, 'danger')

},

tmpl : function(content, type) {

this.content = content;

this.type = type;

var _self = this;

$timeout(function() {

_self.clear();

}, 5000);

},

clear : function() {

this.content = '';

this.type = '';

}

};

});

</script>

<style type="text/css">

.msg-box {

z-index: 666;

position: absolute;

width: 100%;

top: 5px;

}

.msg.ng-enter {

transition: 2s linear all;

opacity: 0.3;

}

.msg.ng-enter-active {

opacity: 1;

}

.msg.ng-leave {

transition: 2s linear all;

opacity: 1;

}

.msg.ng-leave-active {

opacity: 0;

}

</style>

</head>

<body ng-app="myapp" ng-controller="msgController">

<msg-box content="{{msg.content}}" type="{{msg.type}}" class="msg-box">

</msg-box>

<h1>content</h1>

<button type="button" class="btn btn-primary" ng-click="show()">success</button>

<div ng-controller="controller">

<button type="button" class="btn btn-primary" ng-click="show()">info</button>

</div>

</body>

</html>

<div class="alert alert-{{type || 'info'}} msg" role="alert" ng-if="content">

<button type="button" class="close" aria-label="Close" ng-click="close()">

<span aria-hidden="true">×</span>

</button>

{{content}}

</div>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: