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

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

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

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

HTML

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

CSS

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

Q&A

1回答

3790閲覧

jQueryで特定の要素の時のみマウスホイールスクロールの方向(上下・左右)を変える

86maitake

総合スコア1

jQuery

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2020/12/28 03:21

編集2020/12/28 04:06

前提・実現したいこと

参考サイト(「what we do」の部分の挙動)のように特定の要素まで通常スクロール。

特定の要素ではマウスホイールで横スクロールになる。

特定の要素をスクロールしきったらまた縦スクロールに戻る。

といった動きを実装したいです。
jQueryプラグイン(mousewheel)で横スクロールの実装はできましたが、
意図した箇所でスクロール方向を変えられないです。

プラグインを使用しない書き方またはjQueryでなくても構いませんので
ご教授いただけますと幸いです。

参考サイト:https://pnrm.co.jp/

jQuery(function(){ //-------------------------------------------------------------------------------- // マウスホイールで横スクロール処理 //-------------------------------------------------------------------------------- // スクロール後の位置 var moving; // 1スクロールの移動距離 var speed = 2; jQuery('横スクロールしたい要素').mousewheel(function(event, mov) { // スクロール後の位置の算出 var moving = jQuery(this).scrollLeft() - mov * speed; // スクロールする jQuery(this).scrollLeft(moving); // 縦スクロールさせない return false; }); });
### 試したこと 上記コードをベースに試してみましたがうまくいきませんでした。 具体的には ・上記コードで単体で横スクロールにはなる。 ・スライド部分のみマウスホイール方向を変えたいが、切り替える処理の書き方がわからない。

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

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

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

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

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

m.ts10806

2020/12/28 03:39

コードやエラーはマークダウンのcode機能を利用してご提示ください。 https://teratail.com/questions/238564 あと「うまくいかない」だけでは「何を元に何を試して何が起きたか」 という情報がないため何も伝わりません。 具体的に記載してください(「質問するときのヒント」を参考に)
86maitake

2020/12/28 04:02

ご指摘ありがとうございます。 拙い質問で申し訳ありませんでした。 質問内容修正いたしました。 「jQueryプラグイン(mousewheel)」はURLのもので間違いないです。
Lhankor_Mhy

2020/12/28 05:06

ドキュメントを見る限り、イベントリスナの第2引数は存在しないように見えますが、その書き方は何を参考にされましたか? URLなどでお示しください。
86maitake

2020/12/28 05:22

https://fixcode.jp/jquery-js/jquery-mousewheel-horizontal/ 「jQuery mousewheelの実装コード」から引用しています。 さらに「おまけ2:横スクロールの終端に来たら、縦スクロールに切り替えるバージョン」 を参考に意図した箇所でのスクロール方法の切り替えを試しましたが、 思った通りの結果にはなりませんでした。
Lhankor_Mhy

2020/12/28 05:45

ああ、すみません、ドキュメントの delta がそれにあたるのですね。理解しました。
guest

回答1

0

こうするとどうでしょうか?

js

1 // スクロール後の位置の算出 2 var moving = jQuery(window).scrollLeft() - mov * speed; 3 // スクロールする 4 jQuery(window).scrollLeft(moving);

投稿2020/12/28 07:49

Lhankor_Mhy

総合スコア36102

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

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

86maitake

2020/12/28 08:21

貴重なお時間さいていただき、ありがとうございます。 ご提示いただいたコードを試してみましたが、 横スクロール自体が機能しませんでした。
86maitake

2020/12/28 11:49

サンプルありがとうございます。 実装したい内容に近いイメージでした! サンプルでご提示いただいた内容に、 横スクロールが終わったら、また次の要素の縦スクロールに戻る。 (サンプルのaside部分の横スクロールが終了したら、前後の要素の縦スクロールに戻る。) といった動きを加えるのは可能でしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問