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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

Q&A

解決済

1回答

468閲覧

jQuery スライダーの矢印ボタンの不具合

syo--

総合スコア28

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

jQuery

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

0グッド

0クリップ

投稿2021/03/19 02:32

jQueryを使いスライダーを作っています 最後の画像に移った時に右矢印を消したいのですが、そうなりません
jQueryのコードも確認しましたが、特に問題はないと思います スライダーに関して調べてみましたが何が問題なのかわかりません
slideIndexが0となってしまっているのでしょうか

HTML

1<!DOCTYPE html> 2<html> 3 <head> 4 <meta charset="utf-8"> 5 </head> 6 <body> 7 <section class="works"> 8 <h2 class="about-h2">WORKS</h2> 9 <div class="works-wrapper"> 10 <div class="slide-button-wrapper"> 11 <div class="slide-button slide-right"> 12 <i class="fas fa-caret-right"></i> 13 </div> 14 <div class="slide-button slide-left"> 15 <i class="fas fa-caret-left"></i> 16 </div> 17 </div> 18 19 20 <div class="slide slide-wrapper active"> 21 <img src="img/kurista_img.png" class="slide-item" > 22 <p class="slide-item">クリ☆スタ コーディング課題の模写</p> 23 <div class="slide-link-wrapper slide-item" > 24 <a href="https://crestadesign.org/cording-first/">元サイト様</a> 25 </div> 26 </div> 27 28 <div class="slide slide-wrapper"> 29 <img src="img/isara_img.png" class="slide-item"> 30 <p class="slide-item">iSaraの模写</p> 31 <div class="slide-link-wrapper slide-item"> 32 <a href="https://isara.life/">元サイト様</a> 33 </div> 34 </div> 35 36 </div> 37 </section>

CSS

1.works { 2 text-align: center; 3 width: 80%; 4 color: #fff; 5 margin: 0 auto; 6 margin-bottom: 70px; 7 background-color: rgba(255, 255, 255, 0.7); 8 position: relative; 9} 10.works h2 { 11 font-size: 3rem; 12 line-height: 2.5; 13 background-color: rgba(0, 0, 0, 0.7); 14 letter-spacing: 1px; 15} 16.works .slide-wrapper img { 17 width: 60%; 18 max-width: 100%; 19 height: auto; 20} 21.works .slide { 22 display: none; 23} 24.works .slide-wrapper p { 25 font-size: 2rem; 26 color: black; 27 letter-spacing: 1px; 28 font-weight: bold; 29} 30.works .slide-wrapper a { 31 font-size: 1.5rem; 32 transition: 0.15s; 33 letter-spacing: 1px; 34} 35.works .slide-wrapper a:hover { 36 background-color: white; 37} 38.works .slide-link-wrapper { 39 display: inline-block; 40} 41.works .active { 42 display: block; 43} 44.works .works-wrapper { 45 padding-top: 50px; 46} 47.works .slide-button-wrapper i { 48 font-size: 5.3rem; 49 color: #172C45; 50} 51.works .slide-right { 52 position: absolute; 53 top: 60%; 54 right: 10%; 55 cursor: pointer; 56} 57.works .slide-left { 58 position: absolute; 59 top: 60%; 60 left: 10%; 61 cursor: pointer; 62} 63.works .slide-item { 64 margin-bottom: 30px; 65}

jQuery

1$(function(){ 2$(".slide-button").click(function(){ 3 $(".active").removeClass("active"); 4 5if($(this).hasClass("slide-right")){ 6$(".slide-wrapper").next().addClass("active"); 7} 8else{$(".slide-wrapper").prev().addClass("active");} 9}) 10 11var slideIndex=$(".slide").index($(".active")); 12 13$(".slide-button").show(); 14 15if(slideIndex===0){$(".slide-left").hide();} 16else if(slideIndex===1){$(".slide-right").hide();} 17}); 18

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

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

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

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

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

guest

回答1

0

ベストアンサー

問題が二つあります。

ひとつめは、その部分がクリックイベントの外に書かれていることです。
ふたつめは、$(".slide-wrapper").prev()がひとつではないことです。


解決方法ですが、ひとまず、クリックイベントの中に書いてみてはどうでしょうか。

投稿2021/03/19 03:12

Lhankor_Mhy

総合スコア35871

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

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

syo--

2021/03/19 05:00

ありがとうございます クリックイベントの中に書いたら質問のバグは直りました ただ、次は最初の画像が表示されてる時に左矢印も表示されてしまいます 「$(".slide-wrapper").prev()がひとつではない」 こちらの意味を教えていただいてもよろしいでしょうか?
Lhankor_Mhy

2021/03/19 05:03

$(".slide-wrapper") はふたつあるので、「ひとつ前の要素」もふたつある、ということです。 つまり、ふたつの要素に.activeがついているはずです。
syo--

2021/03/19 05:04

そういうことだったのですね ありがとうございます
syo--

2021/03/21 05:03

slide-wrapperをworks-wrapperの外に移動したら改善されました ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問