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

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

新規登録して質問してみよう
ただいま回答率
85.35%
jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

1780閲覧

ロゴと背景画像を順番にフェードインで表示させたい。

codemanvs

総合スコア45

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

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

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/06/09 04:38

編集2020/06/09 05:54

前提・実現したいこと

メインビジュアル部分で、以下のような動きをつけたいです。

『ロゴが先にフェードイン表示→ロゴの後ろの背景も遅れて数秒後にフェードイン表示』

みたいな感じにしたいです。
恐らくtimeoutなどを使うかと思いますが、色々と試してたりして何度やってもうまく行きません。。。

どうかアドバイスお願いいたします。

html

<section class="mainvisual"> <div class= "mainvisual-inner"> <div class="mainvisual-logo"> <img src="img/logo.png"> </div><!--mainvisual-logo--> </div><!--inner--> </section><!--mainvisual-->

css

.mainvisual { background-color: black; } .mainvisual-inner { background-image: url("../img/mainvisual.png"); background-repeat: no-repeat; width: 100%; background-size: cover; margin: 0 auto; background-position: fixed; /* 背景の位置指定 */ position: relative; } .mainvisual-inner:before {/*薄暗いグラデーションカバー*/ background-color: rgba(0, 0, 0, 0.5); position: absolute; top: 0; right: 0; bottom: 0; left: 0; content: ' '; } .mainvisual-logo { height: 100%; position: relative; } .mainvisual-logo img { width: 270px; height: 360px; position: absolute; top: 0; bottom: 0; right: 0; left: 0; margin: auto; }

試したこと

以下のjqueryでは、ロゴと背景画像が同時にフェードインされます。
これを、ロゴが先にフェードイン→ロゴを表示したまま後ろの背景も遅れてフェードイン

みたいな感じにしたいです。

$('.mainvisual-inner').append('<div id="curtain">'); // 追加したdivを塗りつぶしてから透明化アニメーション $('#curtain').css({ position: 'absolute', left: 0, top: 0, width: '100%', height: '100%', backgroundColor: '#fff', opacity: 100 }).animate({ opacity: 0 }, 3000, function () { // アニメーション終了後に自身を消す $(this).remove(); }); });

どうかアドバイスお願いいたします!

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

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

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

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

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

Lhankor_Mhy

2020/06/09 05:08

「後ろの背景」とは、.mainvisual-inner:beforeのことですか?
codemanvs

2020/06/09 05:10

いえ、.mainvisual-innerのことです! mainvisual-inner:beforeは背景画像の上に被さっている薄暗いレイヤーになります。 すみません記載しておらず。
Lhankor_Mhy

2020/06/09 05:33

ご提示のコードを試してみましたが、「順番に」以前に、フェード部分が動作しませんでした。 https://jsfiddle.net/Lhankor_Mhy/72ucrv59/ 見た感じ、CSSに不足があるのではないかな、と感じました。
codemanvs

2020/06/09 05:45

何故でしょう。。。こちらでは動いています...
Lhankor_Mhy

2020/06/09 05:48

実際のコードと違う点があればご指摘ください。
Lhankor_Mhy

2020/06/09 06:38 編集

SCSSのコンパイルエラーが出ているようです。 CSSがこの状態でよいのであれば、ご回答を作ってみたいと思います。
codemanvs

2020/06/09 06:52

はい、問題ないです!
guest

回答1

0

ベストアンサー

サンプル

js

1$(function () { 2 // bodyにdivを追加 3$('.mainvisual-inner').append('<div id="curtain">'); 4$('.mainvisual-logo').append('<div id="curtain2">'); 5 // 追加したdivを塗りつぶしてから透明化アニメーション 6 var curtain = $('#curtain').css({ 7 position: 'absolute', 8 left: 0, top: 0, 9 width: '100%', height: '100%', 10 backgroundColor: 'black', 11 opacity: 100 12 }); 13 var curtain2 = $('#curtain2').css({ 14 position: 'absolute', 15 left: 0, top: 0, 16 width: '100%', height: '100%', 17 backgroundColor: 'black', 18 opacity: 100, 19 zIndex: -1, 20 }); 21 curtain.animate({ 22 opacity: 0 23 }, 2000).promise().then(function(){ 24 curtain2.animate({ 25 opacity: 0 26 }, 2000) 27 }); 28});

curtainをもう1枚作って、ロゴの後ろに置き、1枚目のフェードが終わったら2枚目を消す、ということをしています。
ただ、補足依頼欄にも書きましたが、これはCSSが何もかかっていない状態なので、実際のコードに埋めたときに上手くいくとは限らないです。

投稿2020/06/09 07:24

Lhankor_Mhy

総合スコア36960

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

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

codemanvs

2020/06/09 08:24 編集

ありがとうございます! やってみましたが、うまく行きませんでした、、、 が、少し色々と上記コードをいじってみます。。
Lhankor_Mhy

2020/06/09 08:27

サンプルは動作していますか?
codemanvs

2020/06/09 08:39

はい、動作しています! 上記コードで試したら、フェードインはできるのですが、変わらずロゴと背景が一緒に出てきます。。
codemanvs

2020/06/09 09:11

!!!! すごい....できました!!! Lhankor_Mhyさん、本当に本当にありがとうございますT ^ T すごく感謝しています。。。。。ありがとうございます!!!!????‍♂️
Lhankor_Mhy

2020/06/09 09:17

実際のコードに埋めても上手くいきましたか? それはよかった。
codemanvs

2020/06/09 09:23

はい、実際のコードでもうまくいきました!ありがとうございます.....
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問