🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
JavaScript

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

HTML

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

CSS

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

Q&A

解決済

1回答

1451閲覧

スクロールするとふわっと表示される動作について。

Pnd01

総合スコア2

JavaScript

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2021/01/24 03:44

編集2021/01/24 04:22

お忙しい中ありがとうございます。
初歩的な質問で大変恐縮ですが、ご回答いただければ幸いです。

前提・実現したいこと

jQueryを使い、各リストがスクロールすると下からふわっとフェードインしてくるものを実装したいです。
jquery-3.5.1.minの読み込みはできています。

下記Webサイトを参考にしましたが、全く動作しない状況です。
https://recooord.org/fadein-window-scroll/
https://web-loid.net/web/scroll-effect-js/

起こっているエラー

コンソールではエラーメッセージは出ておりませんが、
スクロールしても全く動作しません。固定ページのままです。

クラスの指定の問題なのか、そもそも各コードの問題なのかも分かっておりません。

該当のソースコード

html

1 <ul class="list_service"> 2 <li class=".js-animation"><img src="images/PC.png"> 3 <p class="ttl">ネットリサーチ</p> 4 </li> 5 <li class=".js-animation"><img src="images/shop.png"> 6 <p class="ttl">催事場調査</p> 7 </li> 8 <li class=".js-animation"><img src="images/other.png"> 9 <p class="ttl">その他の調査</p> 10 </li> 11 </ul>

css

1.list_service { 2 display: flex; 3 justify-content: space-around; 4 flex-wrap: nowrap; 5 align-items: center; 6 margin-top: 60px; 7} 8 9.list_service > li { 10 width: 30%; 11 border: 1px solid; 12} 13 14.list_service img { 15 height: 240px; 16 widows: 240px; 17 display: block; 18 margin: 20px auto; 19} 20 21.list_service .ttl { 22 margin-top: 20px; 23 margin-bottom: 20px; 24 font-size: 1.5em; 25 text-align: center; 26} 27 28/*アニメ*/ 29.js-animation { 30 opacity: 0; 31 visibility: hidden; 32 transition: 1s; 33 transform: translateY(30px); 34} 35 36.active { 37 opacity: 1; 38 visibility: visible; 39 transform: translateY(0); 40} 41

js

1$(function () { 2 $(window).on('load scroll', function () { 3 $('.js-animation').each(function () { 4 var target = $(this).offset().top; 5 var scroll = $(window).scrollTop(); 6 var height = $(window).height(); 7 if (scroll > target - height) { 8 $(this).addClass('active'); 9 } 10 }); 11 }); 12 });

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

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

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

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

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

m.ts10806

2021/01/24 03:46

>初心者です。 「初心者アイコン」を質問につけるだけにとどめてください。
Pnd01

2021/01/24 03:53

大変失礼しました。 タイトルを編集しました。
m.ts10806

2021/01/24 04:00 編集

あと、現在起きている問題は何でしょうか? 「何を理解できていないのかご指摘いただければ」とあるのはいいとして、 逆に「自分が今このコードをどこまで理解できているか」が書いてないことには指摘という形のアドバイスは得られないと思います。 つまるところ「どうなったらこの質問は解決するのか」という点が明示されていません。
Pnd01

2021/01/24 04:15

文章が拙く申し訳ないです。 記述のコードでは問題ないと思うのですが、全くスクロールの動作をしません。 どこの箇所に問題があるか分からない現状で、質問も分かりづらく失礼しました。
guest

回答1

0

ベストアンサー

検証したわけじゃないですが、気になるところだけ

class=".js-animation"

これをクラス名とすると

$('.js-animation').

ではなく

$('..js-animation').と書かなければなりません。
セレクターとしては.を冒頭につけるのが「クラスの」という意味を持ちます。

もちろん、冒頭に.というのは紛らわしいので、
htmlをclass="js-animation"としてJavaScriptはそのままとすることで
一応eachには入ると思います。

デバッグを覚えてください。

js

1 2$(function () { 3 $(window).on('load scroll', function () { 4console.log('load scroll') 5 $('.js-animation').each(function () { 6console.log(this) 7 var target = $(this).offset().top; 8 var scroll = $(window).scrollTop(); 9 var height = $(window).height(); 10 if (scroll > target - height) { 11 $(this).addClass('active'); 12 } 13 }); 14 }); 15 });

のように分岐やイベント冒頭に入れることでコンソールに出力します。
「そこを通っているか」を確認できます。
固定文言を入れるのではなく、変数を入れることで「想定の値が来ているか」などを確認することもできます。

投稿2021/01/24 05:10

m.ts10806

総合スコア80875

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

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

Pnd01

2021/01/24 05:32

ご指摘いただいたクラス名が問題でした。 無事に動作しました! また、確認方法のコードまで記載していただき本当にありがとうございます。 見本にさせていただき何度か練習します! 初歩的なことにご丁寧にありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問