これは、「次へ」と「前の」ボタンを含む画像スライドショーのためのもので、最初の画像が表示されているときに「前の」ボタンを非表示にしたい。最後のものが表示されたら「次へ」ボタンを非表示にします。表示される画像を決定するために、私はクラスを使用しています「アクティブ」、他のすべての画像は、デフォルトでは非表示になっています。ここ 追加/削除クラスでボタンを消して再び表示する
<button id="prev">previous</button>
<img src="img/1.jpeg" class="one active">
<img src="img/2.jpg" class="two">
<img src="img/3.jpeg" class="three">
<button id="next">next</button>
は、私が現在持っているスクリプトで、if文問題点:
$(document).ready(function() {
if($('.one').hasClass('active')) {
$('#prev').css('visibility', 'hidden');
}
function nextImg() {
var active = $('img.active');
var next = active.next();
active.removeClass('active');
next.addClass('active');
}
function prevImg() {
var active = $('img.active');
var prev = active.prev();
active.removeClass('active');
prev.addClass('active');
}
$('#next').click(nextImg);
$('#prev').click(prevImg);
});
これはロード時に '前'ボタンを非表示にしますが、 'アクティブ'クラスが次の画像に移動してもボタンは隠れたままです。私は 'トグル'を試み、 'else'ステートメントを追加して、ボタンの可視性をもう一度 '可視'に設定しましたが、一旦消えたら、それを戻すことはできません。
私は既存のコードのための簡単な修正を見つけることを望んでいましたが、私はこれに対してもっとうまくいく別の方法にも開いています。
まさに私が探していたものです。いったん答えが見えたら、どれほどシンプルなのでしょうか? :) – Ithuvanian