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

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

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

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

jQuery

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

Q&A

解決済

1回答

269閲覧

jQueryトランジションを同時に発生させたい

myc

総合スコア18

JavaScript

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

jQuery

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

0グッド

0クリップ

投稿2019/01/02 12:03

編集2019/01/02 12:22

初めて利用させていただきます。よろしくお願いいたします。

現在練習を兼ねてjQueryのちょっとしたプラグインを作成しています。
テキストを一文字ずつトランジションさせるエフェクトですが、取得した複数のjQueryオブジェクトのトランジションを同時に発生させたいと思っています。

現状、同時ではなく順番にトランジション処理されてしまう状態なのですが、何かいい記述の仕方はありますでしょうか。

お知恵をお借りできると嬉しいです。

該当のソースコード

html

1<p class="textyle">TEXTYLE</p> 2<p class="textyle">TEXTYLE</p>

css

1@import url('https://fonts.googleapis.com/css?family=Heebo:900'); 2 3html,body { 4 width : 100%; 5 height : 100%; 6 margin : 0; 7 padding : 0; 8} 9 10body { 11 display : flex; 12 flex-direction : column; 13 align-items : center; 14 justify-content : center; 15 font-family: 'Heebo', sans-serif; 16 letter-spacing : .3rem; 17} 18p { 19 margin : 0; 20 padding : 0; 21} 22 23.textyle { 24 font-size : 5rem; 25 opacity: 0; 26 span { 27 opacity: 0; 28 } 29}

js

1(function ( $ ) { 2 $.fn.textyle = function() { 3 4 var targetTxt = this.contents(); 5 var dlTime = 150; 6 var fxTime = 500; 7 8 //split txt & wrap txt by span 9 targetTxt.each(function() { 10 if(this.nodeType === 3) { 11 mkspn($(this)); 12 } 13 }); 14 function mkspn(elem){ 15 elem.replaceWith(elem.text().replace(/(\S)/g,'<span>$1</span>')); 16 } 17 18 //txt animation 19 this.css({'opacity':1}); 20 var len = this.children().length; 21 for (var i = 0; i < len; i++) { 22 this.children('span:eq('+i+')') 23 .delay(dlTime*i) 24 .animate({ 25 opacity : 1, 26 },fxTime); 27 }; 28 return this; 29 30 }; 31}( jQuery )); 32 33$(".textyle").textyle();

###やりたいこと

二つのp要素のトランジションを同時に開始させたい。

###現状

一つ目のp要素 → 二つ目のp要素にトランジションしてしまう。

###Codepen

https://codepen.io/mycreatesite/pen/vvpmgy

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

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

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

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

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

guest

回答1

0

ベストアンサー

js

1(function ( $ ) { 2 $.fn.textyle = function() { 3 4 var targetTxt = this.contents(); 5 var dlTime = 150; 6 var fxTime = 500; 7 8 //split txt & wrap txt by span 9 targetTxt.each(function() { 10 if(this.nodeType === 3) { 11 mkspn($(this)); 12 } 13 }); 14 function mkspn(elem){ 15 elem.replaceWith(elem.text().replace(/(\S)/g,'<span>$1</span>')); 16 } 17 18 //txt animation 19 this.css({'opacity':1}); 20 this.each(function() {/* ADD */ 21 var len = $(this).children().length; 22 for (var i = 0; i < len; i++) { 23 $(this).children('span:eq('+i+')') 24 .delay(dlTime*i) 25 .animate({ 26 opacity : 1, 27 },fxTime); 28 }; 29 });/* ADD */ 30 return this; 31 32 }; 33}( jQuery )); 34 35$(".textyle").textyle(); 36```**動くサンプル:**[https://jsfiddle.net/op7z0vmh/](https://jsfiddle.net/op7z0vmh/)

投稿2019/01/02 13:32

kei344

総合スコア69407

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

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

myc

2019/01/02 17:18

簡潔かつ明快なご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問