ポップアップウィンドウ(最大化・元に戻す)

プログラミング

はじめに

前回の記事に加えて、
ウインドウの最大化及び最大化したウインドウを元のサイズに戻すボタンを実装します。

実行

前回まで書いた、下記のコードに変更を加えていきます

$(function(){
 $(".btn").on("click" function(){
    $(".pop__window").remove();
    let html = `
     <div class = "pop__window">
       <div class = "pop__window__delete-btn js-delete-btn"></div>
     </div>
   `
   $(".pop").append(html);
 })
 $(function).on("click","js-delete-btn",function(){
   $(".pop__window").remove;
 })
});
.pop{
  &__window{
    width: 500px;
    height: 500px;
    background-color: 500px;
    position: fixed; 
    top: 300px; 
    left: 300px;
    &__delete-btn{
      width:  50px;
      height: 50px;
      background-color: #F00;
      color: #000;
      border: solid 1px #FFF;
      border-radius: 50%;
      margin: auto;
    }
  } 
}

まず、ウインドウが画面中央にくるように修正します

.pop{
  &__window{
    width: 50%;
    height: 50%; 
    top: 20%; 
    left: 20%;
  (他は省略)
  } 
}

JavaScriptで追加するhtmlデータに、最大化・元に戻すボタンのオブジェクトを追加します

$(function(){
 $(".btn").on("click" function(){
    $(".pop__window").remove();
    let html = `
     <div class = "pop__window">
       <div class = "pop__window__delete-btn js-delete-btn"></div>
       <div class = "pop__window__expansion-btn js-expansion-btn"></div>
       <div class = "pop__window__mini-btn js-dmini-btn"></div>
     </div>
   `
   $(".pop").append(html);
 })
 $(function).on("click","js-delete-btn",function(){
   $(".pop__window").remove;
 })
});

このボタンのCSSも書き加えます。

.pop{
  &__window{
    (省略)
    &__expansion-btn{
      width:  50px;
      height: 50px;
      background-color: #9F9;
      color: #000;
      border: solid 1px #FFF;
      border-radius: 50%;
      margin: auto;
    }
    &__mini-btn{
      width:  50px;
      height: 50px;
      background-color: #FF0;
      color: #000;
      border: solid 1px #FFF;
      border-radius: 50%;
      margin: auto;
    }
  } 
}

ボタンをクリックした時に、ウインドウのサイズが変わるようにします
処理としては、それぞれのボタンをclickした時に、cssメソッド.pop__windowのサイズ・位置を変更します

$(function(){ 
 (省略)
 $(document).on("click",".js-expansion-btn",function(){ 
   $(".show__window").css({'height':'100%','bottom':'0','width':'100%','right':'0'}); 
  }); 
  $(document).on("click",".js-mini-btn",function(){ 
    $(".show__window").css({'height':'60%','bottom':'20%','width':'60%','right':'20%'}); 
  });  
}); 

これで、最大化・元に戻すボタンの実装は完了です。
最後に、JavaScriptのコードをすべてを書きますします。

$(function(){
 $(".btn").on("click" function(){
    $(".pop__window").remove();
    let html = `
     <div class = "pop__window">
       <div class = "pop__window__delete-btn js-delete-btn"></div>
       <div class = "pop__window__expansion-btn js-expansion-btn"></div>
       <div class = "pop__window__mini-btn js-dmini-btn"></div>
     </div>
   `
   $(".pop").append(html);
 })
 $(function).on("click","js-delete-btn",function(){
   $(".pop__window").remove;
 });
 $(document).on("click",".js-expansion-btn",function(){ 
   $(".show__window").css({'height':'100%','bottom':'0','width':'100%','right':'0'}); 
 }); 
 $(document).on("click",".js-mini-btn",function(){ 
   $(".show__window").css({'height':'60%','bottom':'20%','width':'60%','right':'20%'}); 
 }); 
});

コメント

タイトルとURLをコピーしました