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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

JavaScript

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

Q&A

解決済

3回答

1454閲覧

時間差のアニメショーンを繰り返したい。

退会済みユーザー

退会済みユーザー

総合スコア0

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

JavaScript

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

0グッド

1クリップ

投稿2017/02/28 17:03

###時間差のアニメションを繰り返したい。
下記の記述は理想の流れのパターン
左から一つ目が上がって下がって止まる、二つ目が上がって下がって止まる、三つ目が上がって下がって止まって終わり、となっている。

これを、三つ目まで行ったら、また左から一つ目が動いて次、という風に動かしたい。
さらに理想をいうなれば、四つ目・五つ目と増えても、同じように動くようにしたい。

###時間差アニメーション

HTML

1 <ul id="line"> 2 <li><img src="img/img01.png" alt=""></li> 3 <li><img src="img/img02.png" alt=""></li> 4 <li><img src="img/img03.png" alt=""></li> 5 </ul>

css

1#line.motion li{ 2 position: relative; 3 animation-name: up; 4 animation-duration: 1s; 5} 6#line.motion li:nth-of-type(2){ 7 animation-delay: 1s; 8} 9#line.motion li:nth-of-type(3){ 10 animation-delay: 2s; 11} 12@keyframes up{ 13 0% { 14 top: 0; 15 } 16 50% { 17 top: -10px; 18 } 19 100% { 20 top: 0; 21 } 22}

javascript

1$(document).ready(function(i){ 2 $("#line").addClass("motion"); 3});

###失敗例()
上記の記述に
「animation-iteration-count」を追記したら
上がって下がって止まるではなく、上がって下がってを繰り返している。

css

1#line.motion li{ 2 position: relative; 3 animation-name: up; 4 animation-duration: 1s; 5 animation-iteration-count: infinite; 6} 7#line.motion li:nth-of-type(2){ 8 animation-delay: 1s; 9} 10#line.motion li:nth-of-type(3){ 11 animation-delay: 2s; 12} 13@keyframes up{ 14 0% { 15 top: 0; 16 } 17 50% { 18 top: -10px; 19 } 20 100% { 21 top: 0; 22 } 23}

語彙力が低くて、思っていることが伝わっているか分からないけど、助けを求める。

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

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

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

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

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

guest

回答3

0

ベストアンサー

こちらはやりたいことに近いのではないかと思います。
まずはJSを使おうとせず、単純にCSSクラスの設定だけである程度作ってみたほうが良いと思います。

投稿2017/03/01 01:38

yamato_hikawa

総合スコア2092

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

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

退会済みユーザー

退会済みユーザー

2017/03/03 01:01

JSでややこしするからダメなんですね。 上記を参考にやりたかったことは出来ました。ありがとうございます。
guest

0

現状3つを遅延だけで操作しているため、
失敗例はアニメーションの輪唱みたいになっていますね。

さて、アニメーションの終了時、イベントが発行されます。
(このサイトの、「アニメーションイベントを使う」等を参照ください。)

現状はulにイベントをつけるよう作成していますが、
li単体でアニメーションが動作するよう(一つのliが上がって下がるだけのアニメーション)にし、

  1. $(document).readyにてクラスを最初のliにつける
  2. 終了イベントにてクラスを外すと共に、次のliにクラスをつける(最後のliの場合は最初に戻る)

とすれば問題ないと思います。

"次のli"ですが、少し頑張ればイベント内で取り出すことが出来ます。
面倒であれば今どの要素をアニメーションさせているかをグローバル変数でもっていると楽です。

投稿2017/03/01 00:38

moredeep

総合スコア1507

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

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

退会済みユーザー

退会済みユーザー

2017/03/03 01:02

こちらも、試してみます。
guest

0

animation-iteration-count 読んで字のごとく、繰り返し回数ですので数字を設定すればいいと思いますが。infiniteは無限ループの意味です。

投稿2017/03/01 00:23

turbgraphics200

総合スコア4267

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問