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

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

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

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

HTML

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

Q&A

解決済

1回答

832閲覧

スクロールバーが表示されるときに、ボタンをクリックすると左右に移動するようにしたいです。 if文の書き方がいまいちわかりません レクチャーいただければ幸いです。

KKsall

総合スコア25

JavaScript

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

HTML

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

0グッド

1クリップ

投稿2021/11/04 09:27

編集2021/11/04 13:04

判定したいのはクリックイベントで、左右の動くのはスクールバーをもってるtableとなります

<div class="l-table"> <div class="js-scrollable p-scrollbar"> <table class="p-table-search-theme"> <thead class="has-background-thead"> <tr class="thead"> <th class="sorting th-first" rowspan="2">登録<br>番号</th> <th class="sorting th-second" rowspan="2">登録<br>番号</th> <th class="sorting th-third" rowspan="2">技術名称</th> <th class="th-fourth" rowspan="2">技術名称</th> <th class="th-fifth" colspan="2">技術名称 </th> <th class="sorting th-seventh" rowspan="2">技術名称</th> <th class="sorting th-eighth" rowspan="2">技術名称</th> <th class="th-ninth" rowspan="2">カタログ・パンフレット</th> </tr> <tr> <th class="sorting-sc">農業農村<br>設備事業</th> <th class="sorting-sc">その他<br>事業</th> </tr> </thead> <tbody> <tr> <td> 0 </td> <td class="text-left"><a href="#"> 株</a> </td> <td class="text-left"><a href="#">text</a></td> <td class="text-left">text </td> <td>12648 件</td> <td>12648 件</td> <td>2021年</td> <td>2021年/01</td> <td><span class="icon"><a href="#">リーフレット(cs-21)</a></span><span class="icon"><a href="#">製品カタログ(cs-21シリーズ)</a></span></td> </tr> <tr> <td> 1 </td> <td class="text-left"><a href="#"> 株</a> </td> <td class="text-left"><a href="#">text</a></td> <td class="text-left">text </td> <td>12648 件</td> <td>12648 件</td> <td>2021年</td> <td>2021年/01</td> <td><span class="icon"><a href="#">リーフレット(cs-21)</a></span><span class="icon"><a href="#">製品カタログ(cs-21シリーズ)</a></span></td> </tr> <tr> <td> 2 </td> <td class="text-left"><a href="#"> 株</a> </td> <td class="text-left"><a href="#">text</a></td> <td class="text-left">text </td> <td>12648 件</td> <td>12648 件</td> <td>2021年</td> <td>2021年/01</td> <td><span class="icon"><a href="#">リーフレット(cs-21)</a></span><span class="icon"><a href="#">製品カタログ(cs-21シリーズ)</a></span></td> </tr> <tr> <td> 3 </td> <td class="text-left"><a href="#"> 株</a> </td> <td class="text-left"><a href="#">text</a></td> <td class="text-left">text </td> <td>12648 件</td> <td>12648 件</td> <td>2021年</td> <td>2021年/01</td> <td><span class="icon"><a href="#">リーフレット(cs-21)</a></span><span class="icon"><a href="#">製品カタログ(cs-21シリーズ)</a></span></td> </tr> <tr> <td> 4 </td> <td class="text-left"><a href="#"> 株</a> </td> <td class="text-left"><a href="#">text</a></td> <td class="text-left">text </td> <td>12648 件</td> <td>12648 件</td> <td>2021年</td> <td>2021年/01</td> <td><span class="icon"><a href="#">リーフレット(cs-21)</a></span><span class="icon"><a href="#">製品カタログ(cs-21シリーズ)</a></span></td> </tr> <tr> <td> 5 </td> <td class="text-left"><a href="#"> 株</a> </td> <td class="text-left"><a href="#">text</a></td> <td class="text-left">text </td> <td>12648 件</td> <td>12648 件</td> <td>2021年</td> <td>2021年/01</td> <td><span class="icon"><a href="#">リーフレット(cs-21)</a></span><span class="icon"><a href="#">製品カタログ(cs-21シリーズ)</a></span></td> </tr> </tbody> </table> <button type="button" class="c-scroll-button border-radius"><i class="ph-caret-left"></i><i class="ph-caret-left"></i></button> </div> </div> <style> <link rel="stylesheet" href="https://unpkg.com/scroll-hint@1.0.0/css/scroll-hint.css"> </style>
<button type="button" class="c-scroll-button border-radius"><i class="ph-caret-left"></i><i class="ph-caret-left"></i></button> const buttonscroll = document.querySelector('.c-scroll-button'); const container = document.querySelector('.p-scrollbar'); buttonscroll.addEventListener('click', movement); function movement() { if () { container.scrollLeft = container.scrollWidth; } else { container.scrollLeft = 0; } }

・codepen
https://codepen.io/boo-jp/pen/ZEJvPEV
サンプル
https://codepen.io/boo-jp/pen/eYEVmaE

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

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

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

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

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

m.ts10806

2021/11/04 09:56 編集

そのifで何を判定したいのかがわかっていれば明白に思いますが、如何でしょうか。 「左右に動く」とは具体的に何が左右に動くのでしょうか。
KKsall

2021/11/04 10:29

判定したいのはクリックイベントで、左右の動くのはスクールバーをもってるtableですね
m.ts10806

2021/11/04 11:05

質問本文にきちんと記載してください。 コードしか書かれてないのでほぼ伝わりません。
int32_t

2021/11/04 13:17

HTMLにはボタンは1つしかありませんが、1つのボタンでどう左右に動かしたいのでしょう?
int32_t

2021/11/04 13:50

なるほど。それを質問本文に書いてくださいね。やりたいことがぜんぜん伝わらなかったので。
guest

回答1

0

ベストアンサー

container.scrollLeft が0か否かをチェックすればよさそうです。

投稿2021/11/04 13:50

int32_t

総合スコア21695

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

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

KKsall

2021/11/04 14:02

function movement() { if (container !== 0 ) { container.scrollLeft = container.scrollWidth; } else { container.scrollLeft = 0; } } 0でない場合は移動しましたが、戻ることができないのは条件がわるいのでしょうか?
int32_t

2021/11/04 14:06

わるいですね。回答を読んでください。
KKsall

2021/11/04 14:34

なるほど。。私のスキルレベルではこれ以上できそうにないので、こちらでベストアンサーにしてしまいますね。色々とありがとうございました。
int32_t

2021/11/04 14:40

問題が解決してないならベストアンサーを付けるべきではないですよ。 回答に「container.scrollLeftをチェック」と書いてあるのにコードでは container をチェックしているだけなのですけども。
KKsall

2021/11/04 14:50

すみません。できました。。。if (container.scrollLeft == 0)ですね。なんか勘違いしてて申し訳ないです。無事解決です!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問