質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

2回答

1755閲覧

小窓を開ける方法がわかりません

shaketonori

総合スコア22

Webサイト

一つのドメイン上に存在するWebページの集合体をWebサイトと呼びます。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2019/11/14 08:52

webアプリを製作中です。
画面遷移でなく、小さな窓を開いて窓内の文字や画像をクリックして
別の画面にリンクする方法を探しています。

具体的にはGメールのアプリボタンやアカウントボタンをクリックして
小さな窓を開く手法です。
このteratailでも右上のアカウントボタンをクリックすると小さな
窓が開き、アカウントにかかわる画面に遷移できるようになっています。

この小さな窓が開く方法は何というのでしょうか?
ハンバーガーメニューとも違うようです。
名称と作成方法についてご存じの方がいたら教えてください。

よろしくお願いいたします。

Gメールのアプリボタンをクリック
イメージ説明

Gメールのアカウントボタンをクリック
イメージ説明

teratailでも右上のアカウントボタンをクリック
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

ポップアップメニューですかね
モーダルのように全体を覆わないので

作り方はわりと簡単で ボタンをクリックしたら
JavaScript で 表示させたい要素のdiplay を show,none に切り替えてるだけです。
最初はポップアップ要素を none にしていると思うので、classList.toggle で show を指定するだけです。

アニメーションを加えたいならCSS
但し、display だけだと transition が効かないので、opacity も付け加える必要があります。

ウィンドウのどこを押してもポップアップメニューが消えるようにしたいなら、
window.onclick = event => {} でさらに書き足してあげる必要があります。

Material系のCSSフレームワークを使えば、そこそこのデザインでポップアップメニューなどwebページに必要な機能が最初からあったりしますけど。

投稿2019/11/14 09:53

編集2019/11/14 09:55
pinoko

総合スコア127

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shaketonori

2019/11/19 04:11

コメントが遅くなって申し訳ありません。 この4・5日 javascript,jQuery で格闘していました。 「ポップアップメニュー」とのご指摘、ありがとうございました。 ポップアップウィンドウについても調べてみました。 初期設定で style.display ="none" としておくと非表示になり、 何かのイベントで style.display ="block" とすると表示されることが わかりました。 「ウィンドウのどこを押してもポップアップメニューが消えるように」するのには ちょっと苦労をしました。 単純に $(document).on('click', function(e) { とやってしまうと「開く」ボタンも拾ってしまい、なかなかうまくできませんでしたが、 $(document).on('click', function(e) { if(!$(e.target).is('#btnDialogOpen')) { とすると、例外箇所を除いてくれることがわかりました。 モーダルダイアログもポップアップメニューもCSSでコントロールすれば、任意の位置や 大きさで表示できそうです。 調べた範囲ではモーダルダイアログでもポップアップメニューでも (正確に両者の違いが判らないのですが・・)実現できそうだということがわかりました。 pinokoさんの方がちょっと細かく書いてくれましたので、ベストアンサーとさせて頂きます。 ありがとうございました。
guest

0

「モーダルダイアログ」の類いだと思います。

投稿2019/11/14 08:54

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shaketonori

2019/11/19 04:10

コメントが遅くなって申し訳ありません。 この4・5日 javascript,jQuery で格闘していました。 「モーダルダイアログ」であろうとのご指摘、ありがとうございました。 以下のような感じでモーダルダイアログを定義して、 hogeDialog = $( "#abcde" ).dialog({ autoOpen: false, width: 500, height: 300, modal: true, close: function() { hogeDialog( "close" ); } }); 以下のような感じでモーダルダイアログを開くことができました function doActionDialogOpen(){ gModalDialog.dialog( "open" ); } jQuery UI や jQuery UI Theme を使うと見栄えのいい画面を作ることができる こともわかりました。 ありがとうございました。
m.ts10806

2019/11/19 05:07

JavaScriptはあくまでイベントや動きなので実際はjQuery UI付属のCSSが見た目部分の仕事をしています。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問