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

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

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

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

jQuery

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

HTML

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

Q&A

解決済

1回答

1327閲覧

領域に入ったらscrollByを発火したい(Javascript)

kii.32

総合スコア67

JavaScript

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

jQuery

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

HTML

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

0グッド

0クリップ

投稿2020/08/10 02:47

前提・実現したいこと

ある程度スクロールを行ったら、自動で100vhスクロールされる機能を実装したいです。

下記で.section02の上から100pxスクロールしたら自動で100vhスクロール(スムーススクロール)をされるように実装を試みています。
(自動で.section03の100px地点までスクロールされる)

html

1<!DOCTYPE html> 2<html lang="en"> 3 4<head> 5 <meta charset="UTF-8"> 6 <meta name="viewport" content="width=device-width, initial-scale=1.0"> 7 <title>Document</title> 8 <style> 9 section { 10 height: 100vh; 11 width: 100%; 12 display: flex; 13 justify-content: center; 14 align-items: center; 15 font-size: 6em; 16 } 17 18 .section01 { 19 background-color: orange; 20 } 21 22 .section02 { 23 background-color: green; 24 } 25 26 .section03 { 27 background-color: yellow; 28 } 29 </style> 30</head> 31 32<body> 33 <section class="section01"> 34 テキストテキストテキスト 35 </section> 36 <section class="section02"> 37 このセクションの上から100pxまでスクロールしたらscrollBy発火 38 </section> 39 <section class="section03"> 40 テキストテキストテキスト 41 </section> 42</body> 43 44</html>

Javascript

1function sample1() { 2 var height = $(window).height(); 3 window.scrollBy( 4 5 { 6 behavior: "smooth",// スムーズスクロールにする 7 left: 0, 8 top: height, 9 } 10 11 ); 12}

javascriptの初心者で、わからない点が多く申し訳ないのですが、
わかる方がいらっしゃいましたら、ご教授いただけますと嬉しいです。

どうぞよろしくお願い致します。

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

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

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

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

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

Lhankor_Mhy

2020/08/19 04:14

sample1関数を呼び出している部分のコードをご提示ください。
guest

回答1

0

ベストアンサー

Intersection Observerを使ってよければ、こんな感じではないでしょうか。
Intersection Observer API - Web API | MDN

js

1function sample1(e) { 2 if (!e[0].isIntersecting) return; 3 var height = $(window).height(); 4 window.scrollBy( 5 6 { 7 behavior: "smooth",// スムーズスクロールにする 8 left: 0, 9 top: height, 10 } 11 12 ); 13} 14let observer = new IntersectionObserver( sample1, { rootMargin: "0px 0px -100px 0px" } ); 15observer.observe( document.getElementsByClassName('section02')[0] );

あと、ご質問のコードはjQueryを読み込み忘れていますから、ご注意ください。

投稿2020/08/19 06:50

Lhankor_Mhy

総合スコア36960

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問