LoginSignup
7
3

More than 1 year has passed since last update.

jQueryを少しだけ使って「簡単に画面を切り替える」

Last updated at Posted at 2022-05-05

はじめに

今回は、他のページに遷移するわけではなく、1ページの中で画面が切り替わったように見せる方法です!
jQueryのhide()show()を使います!
短いコードでできるので使ってみてください!
[デモ]
画面切り替え最新.gif

イメージしやすいよう、
「input要素に入力された値を、ボタンがクリックされたら次のページに表示する。」という形にしていますが、そこのコードは無視して頂いて大丈夫です!

1:htmlの用意

このコードでは、最初の画面をinput_area
切り替え後の画面をoutput_areaとしています。

  <div class="input_area" id="input_area">
    <h1>最初の画面</h1>
    <input type="text" class="input" id="input">
    <button id = "btn">登録</button>
  </div>

  <div class="output_area" id="output_area">
    <h1>切り替え後の画面</h1>
    <p>この下に入力結果を表示</p>
    <p class="output_text" id="output_text"></p>
  </div>

この時点では、下記のように1画面に「両方の画面」が表示されている状態です。
スクリーンショット 2022-05-05 0.46.26.png

2:cssで切り替え後の画面を非表示にしておく

output_areaに下記のcssを適応させて、ただ単に「切り替え後の画面(output_area)」を非表示にします!

.output_area{
  display: none;
}

3: jQueryで、最初の画面の非表示と、切り替え後の画面の表示

ボタンが押されたら、「input_areaを非表示に」し、
output_areaを表示させる 」という処理を書きます。

<script>
  
  $("#btn").on("click", function(){  //ボタンがクリックされたら下記の処理を実行
    let text = $("#input").val();   //ここは無しで大丈夫です
    $("#output_text").text(text);   //ここは無しで大丈夫です
    $("#input_area").hide(); //最初の画面を非表示にする
    $("#output_area").show(); //次の画面を表示する
  });

</script>

.hide()で「表示されている要素」を「非表示」にします。
.show()で「非表示になっている要素」を「表示」します。

これで完成です!

4:まとめ

この方法でしたら、1画面で見た目上画面が切り替わっているだけので、ページ間でのデータのやりとり等も考えなくで良いので、シンプルでいいなーと思っています!
どなたかの参考になれば幸いです。

[twitter] https://mobile.twitter.com/tatsuki_kt

7
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
3