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

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

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

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

CSS

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

Q&A

解決済

1回答

5556閲覧

scrollLeftが効かない

ROKIDOG

総合スコア20

jQuery

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

CSS

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

0グッド

0クリップ

投稿2021/10/14 01:18

編集2021/10/14 01:51

前提・実現したいこと

以下の記事のようにscrollLeftを使って、ボタンクリック時に要素が横へスライドするようにしたいです。
https://kakioku.com/posts/2008170

現在は添付画像のようになっています。
イメージ説明

発生している問題・エラーメッセージ

ボタンをクリックしても、反応しないです。
クリック時にアラートは出せたので、jqueryは効いていることは確かです。

該当のソースコード

html

1<div id="scrollArea">//スクロールしたいエリア 2 <div class="article_block"> 3 <article> 4 <div class="article_box">//要素の入るボックス 5 //要素 6 </div> 7            </article> 8            <article> 9 <div class="article_box">//要素の入るボックス 10 //要素 11 </div> 12            </article> 13            <article> 14 <div class="article_box">//要素の入るボックス 15 //要素 16 </div> 17            </article> 18 </div> 19 20 <div class="arrow"> 21 <button type="button" id="left"></button>//クリックすると左へ移動 22 <button type="button" id="right"></button>//クリックすると右へ移動 23 </div> 24 25 </div>

css

1 #scrollArea { 2 width: 5000px; 3 height: 500px; 4 overflow-x: scroll; 5 6 & .article_block { 7 display: flex; 8 align-items: center; 9 & .article_box { 10 width: 500px; 11 height: 500px; 12 border-color: black; 13 position: relative; 14 } 15 } 16}

javascript

1 $(function(){ 2 $('#right').on("click",function() { 3 $('#scrollArea').animate({ 4 scrollLeft:$('#scrollArea').scrollLeft() + 500 5 }, 300); 6 }); 7 8 $('#left').click(function () { 9 $('#scrollArea').animate({ 10 scrollLeft: $('#scrollArea').scrollLeft() - 500 11 }, 300); 12 return false; 13 }); 14 15 });

アドバイス頂けると幸いです。よろしくお願い致します。

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

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

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

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

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

int32_t

2021/10/14 01:22

scrollAreaの要素はスクロールできるようになってますか? article_block や arrow の要素の幅が5000pxより大きくないとそもそもスクロールしようがないですよね。
int32_t

2021/10/14 01:27

誰でも問題が再現できる完全なHTML/CSS/JavaScriptのコードを開示してください。
yambejp

2021/10/14 01:50

領域自体をスクロールしたいのですか? なかみだけスクロールすれば良いような気もしますが
ROKIDOG

2021/10/15 21:39

int32_t様 回答ありがとうございます! おっしゃる通りで、article_block をscrollAreaの幅より大きくしたらスクロールできました! 本当にありがとうございます!
ROKIDOG

2021/10/15 21:41

yambejp様 拝見して頂きありがとうございます! おっしゃる通りで、中身だけをスクロールすれば良いです! article_block をscrollAreaの幅より大きくしたらスクロールできました!
guest

回答1

0

ベストアンサー

たぶんやりたいことは、下記のようなことかな。

scss

1#scrollArea { 2 width: 100%; 3 height: 500px; 4 & .article_block { 5 overflow-x: scroll; 6 display: flex; 7 align-items: center; 8 & .article_box { 9 width: 500px; 10 height: 500px; 11 border: solid 1px; 12 position: relative; 13 background-color: violet; 14 } 15 } 16}

js

1 $(function(){ 2 $('#right').on("click",function() { 3 $('.article_block').animate({ 4 scrollLeft:$('.article_block').scrollLeft() + 500 5 }, 300); 6 }); 7 8 $('#left').click(function () { 9 $('.article_block').animate({ 10 scrollLeft: $('.article_block').scrollLeft() - 500 11 }, 300); 12 return false; 13 }); 14 15 });

中身の .article_block をスクロールする。

投稿2021/10/14 04:05

hatena19

総合スコア34075

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

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

ROKIDOG

2021/10/15 21:42

ご回答ありがとうございます! こちら、article_blockの幅をscrollArea より大きくしたら動きました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問