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

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

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

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

CSS

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

Q&A

解決済

1回答

2302閲覧

スクロールに応じて要素をスライドアップさせたい

taaa

総合スコア32

jQuery

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

CSS

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

0グッド

0クリップ

投稿2017/12/05 00:27

html中の特定の透明要素(.fade_in)がスクロールして画面の半分の位置に来たらフェードアップする処理を作っています。

それ自体は出来たので、対象要素に設定したdata-*属性を読み取ってフェードアップ実行までのdelay(n)を組み入れたところ正常に動かなくなりました
最初のスライドアップは成功するのですが、上方向にスクロールさせて再度要素が隠れたあとにもう一度
スライドアップさせようとしても失敗します
どの部分に問題があるのでしょうか

環境はChrome最新とjQuery(1.11.3)です

html

1<div class="fade_up"> 2 <p>スライドアップする要素1</p> 3</div> 4<div class="fade_up" data-fade_delay="750"> 5 <p>スライドアップする要素2</p> 6</div>

css

1.fade_up { 2 opacity:0; 3 transition-duration: 1.7s; 4}

javascript

1 /* 2 fade_up() //$(window).scroll()内部で呼び出し実行 3 */ 4 function fade_up(){ 5 $('.fade_up').each(function(){ 6 var POS = $(this).offset().top; 7 //scrolledはスクロール量、win_heightはウィンドウ高さ 8 if (scrolled > POS - win_height + win_height/4){ 9 var dly = $(this).attr('data-fade_delay') ? $(this).attr('data-fade_delay') : 0; 10 $(this).delay(dly).queue(function(){ 11 $(this).css({ 12 'opacity':'1', 13 'transform':'translateY(0)' 14 }); 15 }); 16 } else { 17 $(this).css({ 18 'opacity':'0', 19 'transform':'translateY(100px)' 20 }); 21 } 22 }); 23 }

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

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

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

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

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

guest

回答1

0

ベストアンサー

data属性の値の取り方が問題のように感じます。

var dly = $(this).data('fade_delay');

こんな感じで直してみてください。

投稿2017/12/05 01:05

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

taaa

2017/12/05 02:37

ご意見ありがとうございます! 頂いた方法でも試したのですが、これまで同様の不具合が発生します 初回はちゃんと意図した時間差で出現するが、出現後ページ上に戻してもう一度出現させようとするとでてこない……という状況です
shaak

2017/12/05 09:02

スクロール量(scrolled)の部分、ソース拝見できますか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.49%

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

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

質問する

関連した質問