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

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

新規登録して質問してみよう
ただいま回答率
85.50%
レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

jQuery

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

Q&A

3回答

3135閲覧

jQueryでTOPへ戻るボタンの逆のことがしたい

miziro

総合スコア13

レスポンシブWebデザイン

レスポンシブWebデザイン(RWD)は、スクリーンのサイズ、プラットフォーム、オリエンテーションに基づいて様々なデバイスで最適のサイトを生成するのウェブデザインとその開発のアプローチ方法を呼びます。

jQuery

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

0グッド

2クリップ

投稿2016/01/29 00:20

編集2022/01/12 10:55

jQueryを使用し、TOPへ戻るボタンの逆のような動きをさせたいです。

最初から画面中央に表示されている画像が、
一定数(レスポンシブなので画面上部から70%ほど)スクロールすると
フェードアウトして消える、という動きをさせたいです。

TOPへ戻るボタンの逆の発想でできないかと思っているのですが、
.scrollTopなどを使うとピクセル単位での読み込みになってしまったり、
そもそもjQueryがうまく動かず困っております。

HTML

1<div id="container"> 2 <div id="arrow"><img src="arrow.gif"></div> 3 <div class="maincontents"> 4 <div class="bg"><img src="bg.jpg"></div> 5~中略~ 6 <div class="image"><img src="iamge.jpg"></div> 7 </div> 8</div> 9

css

1#container { 2 width:100%; 3} 4 5#arrow img { 6 position: fixed ; 7 top: 0 ; 8 right: 0 ; 9 bottom: 0 ; 10 left: 0 ; 11 margin: auto ; 12 width:20%; 13 height:20%; 14} 15 16.bg img { 17 width: 100%; 18} 19 20.image img { 21 width: 100% ; 22}

arrowが常に中央に表示されており、image.jpgが表示される頃にはfadeOutで消したいイメージです。

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

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

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

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

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

miziro

2016/01/29 01:50

質問後に行った修正は、付け損ねていた初心者マークをつけたのみで改変等はしておりませんので、指摘の意図が分かりかねます。 引き続き、ご協力頂ける方をお待ちしております。よろしくお願いいたします。
guest

回答3

0

miziro様初めまして

リンク

上記のリンク先のようにスクロールして変化を加えるといったことでしょうか?

投稿2016/01/29 01:59

takato

総合スコア148

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

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

miziro

2016/01/29 02:10

コメントありがとうございます。 イメージ的には近いかと思います。 質問にも追記をしたのですが、#arrowという部分が最初から表示されており、ある箇所までスクロールするとfadeOutで消したい、というものです。 よくある「TOPへ戻るボタン」の応用でできないかなと思ったのですが、上手く行かないため何かいい方法があれば教えて頂ければ幸いです。 よろしくお願いします。
takato

2016/01/29 02:34

TOPへ戻るボタンとは用途がちょっと違うと思います。 JavaScriptのイベントハンドラでマウスが通り過ぎるとフェードアウトして消すやり方はいかがでしょうか?
miziro

2016/01/29 02:58

レスポンシブで、どちらかというとスマホ主体なのでマウスが通ると…だとちょっと厳しいかな、と思います。すみません。 最初にご提示頂きましたURLから自分でもやってみました。ありがとうございます。
guest

0

takako様にご提示頂いたURLを参考に自分でもやってみました。

jQuery

1$(window).scroll(function() { 2 var windowH = $(window).height(), 3 scrollY = $(window).scrollTop(); 4 5 $('#image').each(function() { 6 var elPosition = $(this).offset().top; 7 if (scrollY > elPosition - windowH) { 8 $('#arrow').fadeOut("1000"); 9 } 10 }); 11});

imageまでスクロールするとarrowがフェードアウトします。
スマホでも動作確認しました。

投稿2016/01/29 03:01

miziro

総合スコア13

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

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

takato

2016/01/29 03:07

miziro様 おめでとうございます。 解決してよかったですね。
guest

0

ざっくりしてますけど下記の様な感じかと。
JSFiddle

投稿2016/01/29 02:36

rossi46hiro

総合スコア992

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

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

miziro

2016/01/29 03:04

コメントありがとうございます。 自分でも解決させてしまったのですが、こちらのほうがより細かく指定もでき美しく実装できるかなと思います。 こちらでも試してみます。ありがとうございました。
rossi46hiro

2016/01/29 03:12

そうですね。 ちょっと処理が冗長な感じもしますが、挙動は細かく指定できると思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問