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

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

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

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

jQuery

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

Q&A

3回答

1732閲覧

徐々に下からでるフェーイドイン

ShoutaMiyamoto

総合スコア8

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2018/07/12 09:35

前提・実現したいこと

お世話になっております
javascriptまたはjquery
で質問です。

初歩的な問題なのですが
テキスト画像を下から順番にフェイドイン
させたいのですが
スクロールすると出てくるパターンはよく
ググるとでてくるんですが、今回はスクロールさせずに
ファーストビューでの動きがなかなか
なくて困っております

ご教示いただけましたら幸いです

試したjqueryですがこれではだめでした
よろしくおねがいします
$(function(){
$('#mv').append(
'<style type="text/css">.target{opacity: 0;margin-top:10px;}'
);
$(window).load(function(){
var delaySpeed = 200;
var fadeSpeed = 1000;
$('.mv_contetns ul li').each(function(i){
$(this).delay(i*(delaySpeed)).animate({opacity:'1',marginTop:'0px'},fadeSpeed);
});
});
});

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

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

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

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

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

guest

回答3

0

bounce.js

こんな感じですか?

左のtranselateをクリックするとパラメーターいじれます

投稿2018/07/12 11:01

編集2018/07/12 11:03
oikashinoa

総合スコア2826

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

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

0

CSS3

1 2/* アニメーションはkeyframeで作っとく。 */ 3@keyframes fadein { 40% { 5opacity: 0; 6bottom: -100px; 7} 8100% { 9opacity: 1; 10bottom: 400px; 11} 12} 13 14/* テキストを絶対位置で動かしたいのでrelative指定しとく。firstviewの外でもテキストが見えてていいならoverflow: hidden;は不要*/ 15#firstview { 16position: relative; 17overflow: hidden; 18} 19 20/*適当に表示したいテキストのサイズを200*100に。まぁ好きなサイズで。 21このクラスは最初からテキストにつけておく。画像ならdivを挟んでimgを子要素に、imgのwidth,heightを100%として親要素のdivの値をいじるほうが楽。*/ 22.textbox { 23position: absolute; 24height: 100px; 25line-height: 100px; 26width: 200px; 27} 28 29/* 上で作ったアニメーションを呼び出すやつ。js,jqueryでつけてあげればいい。*/ 30.shown { 31animation-name: fadein; 32animation-duration: 2.8s; 33animation-timing-function: ease-out; 34animation-iteration-count: 1; 35}

細かい位置の指定もしたくて、そこも方法がわからなければ返答ください

投稿2018/07/12 10:43

sansansandodo

総合スコア248

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

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

ShoutaMiyamoto

2018/07/12 10:52

ありがとうございます。 HTMLは以下のようになっておりまして <li>ようそをフェイドインさせる形でございます <div id="mv"> <div class="mv_contetns"> <ul> <li><img src="images/mv01_logo_pc.png" alt="" /></li> <li><img src="images/mv02_logo_pc.png" alt="" /></li> <li><img src="images/mv03_logo_pc.png" alt="" /></li> <li><img src="images/mv04_logo_pc.png" alt="" /></li> </ul> </div> </div> mv_
cheche0830

2018/07/12 16:09

$("li").hide(); $("li").fadeIn(); とりあえずこれだけfadeInは実装されるので、 あとはsetTimeoutなりでずらすなりすれば いけるんじゃないでしょうか?
sansansandodo

2018/07/13 05:22 編集

各リスト子要素が同時にフェードインするならこんな感じです。 ずらしたい場合はさらに連ねて回答お願いします 上記の方のように、jqueryのfadeInでも全然いいですが、値をいじりやすいので動きはcssで書いておくほうが楽かもしれません。 実現方法は多くありますが、ロジックとして簡単な(私の偏見です)、「アニメーションするクラスを作っておいて、させたいときにつける」でいきました ulにidつけたの忘れてたので書き直しました 14:21 hideとhiddenも使っておきました ``` <!-- mvが何かわからなくてid名変えてますが気にしないでください --> <!-- リスト全部にidつけてますが、getElementById以外のdom取得を扱えるなら不要です --> <div class="container"> <section id="firstview"> <ul id="content-list-box"> <li id="img1">一個目</li> <li id="img2">2こめ!</li> <li id="img3">さんコ目!</li> <li id="img4">らすとぉ!</li> </ul> </section> </div> ``` ``` .container { width: 1280px; margin: 0 auto; } /* グリッドレイアウトにすることで、各コンテナの位置を基準にできます。そのため、@keyframesは一つだけ書けばよくなります */ #content-list-box { height: 480px; list-style-type: none; width: 400px; margin: 0 auto; position: relative; top: 130px; display: grid; grid-template-rows: 1fr 1fr 1fr 1fr; } #firstview { background: skyblue; width: 100%; height: 720px; } #content-list-box li { width: 400px; height: 100px; line-height: 100px; background: white; margin-bottom: 10px; text-align: center; position: absolute; } #content-list-box li:nth-child(1) { grid-row: 1 / 2; } #content-list-box li:nth-child(2){ grid-row: 2 / 3; } #content-list-box li:nth-child(3){ grid-row: 3 / 4; } #content-list-box li:nth-child(4){ grid-row: 4 / 5; } /* 最初隠したければこのクラスをつけておきます。今回は使ってません。 */ .hide { display: none; } /* 今回使いませんが、フェードアウト用のクラスもセットで作っておきます。*/ .hidden { display: block; animation-name: fadeout; -webkit-animation-name: fadeout; animation-duration: 1s; -webkit-animation-duration: 1s; animation-iteration-count: 1; -webkit-animation-iteration-count: 1; animation-timing-function: ease-out; -webkit-animation-timing-function: ease-out; } /* フェードイン用のクラスです。これを付けたときから(クラスが変わった時から)、animation-durationの時間をかけてアニメーションします。animation-timing-functionでease-outを指定するとゆっくり終わります。少し待ってから始めてほしい場合はanimation-delayを指定しておきます。-webkit-はchromeで動くようにするやつです(べんだーぷれふぃくす) */ .show { display: block; animation-name: fadein; -webkit-animation-name: fadein; animation-duration: 2s; -webkit-animation-duration: 2s; animation-iteration-count: 1; -webkit-animation-iteration-count: 1; animation-timing-function: ease-out; -webkit-animation-timing-function: ease-out; } /* showクラスで呼んでいるアニメーションの内容です。0%がアニメーションスタート時点の各値になります。あらかじめposition: absolute;を指定しているので、以下のtopの値はabsoluteになります。 */ @keyframes fadein { 0% { opacity: 0; top: 300px; } 100% { opacity: 1; top: 0; } } @keyframes fadeout { 0% { opacity: 1; top: 0; } 100% { opacity: 0; top: 300px; } } ``` ``` (function(){ let img1 = document.getElementById('img1'); let img2 = document.getElementById('img2'); let img3 = document.getElementById('img3'); let img4 = document.getElementById('img4'); let Timer0 = 0; let animcounter = 0; let imgary = [img1, img2, img3, img4]; //配列で呼ぶほうが好みな場合はこっちで呼んでください function changeclassname(obj, classname) { //第一引数のobjにはDOMを渡してください //第二引数のclassnameには文字列を渡してください。 //第一引数のDOMに第二引数の文字列のクラスをつけます obj.className = ""; obj.className = classname; console.log(obj); return "changed"; } //onloadで呼んでいるのでページよんだらすぐ始まります。クリックしたときとかちょっと待ちたいとかなら連ねて質問ください window.onload = function() { //配列で呼んだほうが好みなら配列のループで呼んでください changeclassname(img1, "show"); changeclassname(img2, "show"); changeclassname(img3, "show"); changeclassname(img4, "show"); // 同時にフェードインならこれでいいです。ずらしてよびたいなら時間で呼んでいけばいいです。ずらし方わからなければさらに質問重ねてください console.log("アニメーションしましたよっ"); } //追記。hideとhiddenも使ってあげないと寂しい感じがするので追記しときますね~。一つ目のリストをクリックすると、奇数回はフェードアウト、偶数回はフェードインします。フェードアウトの後、元の位置に戻ってきてほしくない場合は、displayを指定する位置を変えて、@keyframesの99%まではdisplay: block;、100%ではdisplay: none;とかにするのがわかりやすいロジックです img1.addEventListener('click',function(){ countnow1++ if(countnow1 % 2 == 1){ changeclassname(img1, "hidden"); }else { changeclassname(img1, "show"); } }) //hideもつかってあげよ。二個目のリストを奇数回クリックすると一個目が消えます。偶数回はフェードイン。 img2.addEventListener('click',function(){ countnow2++; if(countnow2 % 2 == 1){ changeclassname(img1, "hide"); }else { changeclassname(img1, "show"); } }) })(); ```
guest

0

とりあえず、
$('#mv').append(
'<style type="text/css">.target{opacity: 0;margin-top:10px;}'
);
をやめて、cssは普通にかいてみたらどうですか?

投稿2018/07/12 10:20

cheche0830

総合スコア187

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問