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

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

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

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

jQuery

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

HTML

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

Q&A

解決済

2回答

2320閲覧

Jqueryで配列の要素を表示させる方法を教えて下さい。

Tatsuya_1985

総合スコア24

SCSS

SCSSは、SassのCSSメタ言語です。Webページのスタイルを指定するCSSを効率的に記述することができます。ネストと呼ばれる入れ子構造で記述するため、CSSの全体の記述量を減らせる点が特徴です。さらに変数も利用できるため、変更や修正の際に少ない作業量で対応することもできます。

jQuery

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

HTML

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

0グッド

0クリップ

投稿2021/05/12 06:39

前提・実現したいこと

ホームページ作成をしています。
Jqueryを用いて配列内のテキストを最初に一つ表示してフェードアウト後に次のテキストを表示させたいです。
上記を実装しようとしましたが、目視では始めに最後の配列要素が表示されてしまいます。
配列内の最初の要素から目視で表示される様にしたいです。

該当のソースコード

(html)

<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="css/style.css"> <link rel="stylesheet" href="css/destyle.css"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script> <title>Practice1</title> </head> <body> <script src="js/script.js"></script> <div class="wrapper"> <p class="wrapper-text"></p> </div> </body> </html>

(scss)
.wrapper{
width: 500px;
height: 500px;
text-align: center;
border: 1px solid #000;
position: relative;
&-text{
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
color: #000;
font-size: 20px;
}
}

(jquery)
$(function(){
var array=['text1','text2','text3'];
for( var i=0; i<array.length; i++){
$('.wrapper-text').text(array[i]);
$('.wrapper-text').fadeOut(5000);
}
});

試したこと

・ブラウザの検証画面のconsoleという所でjqueryのconsole.log()という機能を使用し、プログラムが配列内の最初の要素の部分から動いているか確認しましたが、プログラムは動いていました。
・表示スピードが早いのかと思いjqueryのsetTimeoutやsetTimeoutの関数で遅延を試みましたが結果は変わりませんでした。

※詳しい方いらっしゃいましたらご教授願います。

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

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

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

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

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

guest

回答2

0

ベストアンサー

javascript

1<script> 2$(function(){ 3 var array=['text1','text2','text3']; 4 for(let i=0;i<array.length;i++){ 5 $(this).queue(function(){ 6 $('.wrapper-text').show().text(array[i]).fadeOut(900); 7 $(this).dequeue(); 8 }).delay(1000); 9 } 10}); 11</script> 12<div class="wrapper-text"></div>

投稿2021/05/12 08:02

yambejp

総合スコア114769

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

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

Tatsuya_1985

2021/05/12 08:11

実装できました! 大変参考になります。 ありがとうございました。
guest

0

こうですか?

css

1$(async function () { 2 var array = ['text1', 'text2', 'text3']; 3 for (var i = 0; i < array.length; i++) { 4 $('.wrapper-text').show(); 5 $('.wrapper-text').text(array[i]); 6 await $('.wrapper-text').fadeOut(5000).promise(); 7 } 8})

投稿2021/05/12 07:02

Lhankor_Mhy

総合スコア36074

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

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

Tatsuya_1985

2021/05/12 07:44

回答ありがとうございます! とりあえずコピペして動かしてみましたが文字が表示されなくなりました。 asyncやawaitでググると非同期処理等理解していなかったので勉強しようと思います。 大変参考になりました。
Tatsuya_1985

2021/05/12 08:15

確認しました。 おっしゃる通りでした。 jqueryの読み込みにも注意します。 何度も回答ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問