0

私は現在画像ギャラリーに取り組んでいますが、それは私がよく理解していない非常に奇妙なことをしています。目的の「次の画像」または「前の画像」ボタンをクリックすると、次/前の画像が表示されずにボタンが消えます。

ここにアップロードしました。試してみてください

ボタンの機能は次のようになります。

var nextbutton= $('.next');
var prevbutton= $('.prev');

nextbutton.click(function(){
    $(this).parent(images).hide(0).next().show(0);
    return false;
});

prevbutton.click(function(){
    $(this).parent(images).hide(0).prev().show(0);
    return false;
});

これは問題なく機能していましたが、別の機能を追加することにしました。現在表示している画像をクリックすると、[次の画像]ボタンと同じ機能があり、次の画像に移動します。シンプルだと思いましたが、ボタンに使用した「次の画像」関数を複製するだけですが、セレクターは異なります。

var imagebutton= $('#imagecontainer img:not(:last)');

imagebutton.click(function(){
    $(this).parent(images).hide(0).next().show(0);
    return false;
});

そして、それは想定されていることを行います。画像をクリックすると、次の画像が表示されます。ただし、[次へ] / [前へ]ボタンをクリックすると消えてしまい、[次へ/前へ]の画像に移動しなくなりました。非常に奇妙な!

私はここで明白な何かを見落としていますか?私はJQueryにかなり慣れていないので、どんな助けでも大歓迎です!

4

1 に答える 1

1

次のボタンが消える理由はわかりませんが、次のコードをバインドしてみてください。

$(".next, #imagecontainer img:not(:last)").on("click", function(e){
    $(this).closest("div").hide().next().show();
    e.preventDefault();
});

$(".prev").on("click", function(e){
    $(this).closest("div").hide().prev().show();
    e.preventDefault();
});

あなたのページをコンソールでプレイすると、それが機能する可能性があります。

于 2012-09-30T17:20:50.450 に答える