0

「previous-slide-collections」と「next-slide-collections」の 2 つのアンカー タグを使用しています。次のアンカーは機能しますが、前のアンカーは機能しません。

JavaScript:

$("#next-slide-collections").click((function(){
        //alert('hi');
    var counter = 0;
    return function()
    {
       $("#div" + counter).hide("fast");
       counter = (counter % 3) + 1;
       $("#div" + counter).show("fast");
    }
 })());

$("#previous-slide-collections").click((function(){
    //alert('hi');
    var counter = 0;
    return function()
    {
       $("#div" + counter).hide("fast");
       counter = (counter - 1);
       $("#div" + counter).show("fast");
    }
})());

HTML:

<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>
<a id="previous-slide-collections"></a>
<a id="next-slide-collections"></a>
4

1 に答える 1

0

次のボタンと前のボタンは、それぞれ独自のカウンター変数を使用します。次のボタンは機能するはずですが、前のボタンのカウンターは 0 から始まるため、クリックすると -1 になり、0 要素が選択されます。確認するには、以前のカウンターを 3 から開始するように変更すると、何かが行われることがわかります。

それらが同じ変数を共有するようにすると、機能するはずです(ほとんど)。

var counter = 0;
$("#next-slide-collections").click(function()
    {
       $("#div" + counter).hide("fast");
       counter = (counter % 3) + 1;
       $("#div" + counter).show("fast");
    }
);

$("#previous-slide-collections").click(function()
    {
       $("#div" + counter).hide("fast");
       counter = (counter - 1);
       $("#div" + counter).show("fast");
    }
);

最初の div にある場合は prevous をクリックし、最後の div にある場合は next をクリックすることを考慮する必要があります。

于 2013-02-22T20:08:06.970 に答える