Angular.jsで表示・非表示を切り替えるだけの簡単なモーダルを作ってみます。
サンプルコード
HTML
<div ng-controller="modal_Ctrl"> <button ng-click="modalShow()">モーダル表示</button> <div class="modal-wrapper" ng-show="modalFlag"> <div class="modal-area"> <p>モーダルの中身</p> <p ng-click="modalHide()">閉じる</p> </div> </div> </div>
CSS
.modal-wrapper {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.7);
}
.modal-area {
position: absolute;
top: 50%;
left: 50%;
width: 500px;
height: 300px;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
background: #ffffff;
}
JavaScript
angular.module('app', []).controller('modal_Ctrl', function($scope) {
$scope.modalFlag = false;
// モーダル表示
$scope.modalShow = function() {
$scope.modalFlag = true;
}
// モーダル非表示
$scope.modalHide = function() {
$scope.modalFlag = false;
}
});
trueとfalseの変更で、表示・非表示を切り替えています。
モーダルのデモページ
コメントが承認されるまで時間がかかります。