0

基本的に、左矢印と右矢印を使用してスクロールできるサムネイル ギャラリーを作成しました。右矢印イベントは問題なく動作するので、(-) 値を除いて左矢印イベントは同じであると想定しました。ただし、左キーを押すと、2回ごとに前のサムネイルにしか移動しません。

誰かが私のコードを見て、何が欠けているか教えてもらえますか? ありがとう!

$(document).bind("keydown", function(event) {

if (event.keyCode == 39)
{   
    $("#thumbnail img").each(function(i) {

        if ($(this).hasClass("currentThumb"))
        {
            currentSelectionIndex = i;

            $("#thumbnail img").removeClass("currentThumb").addClass("thumb");  

            if (currentSelectionIndex == 14 && parseInt($('#end').text()) < parseInt($('#total').text()))
            {
                nextImages(currentCategory.value);  
            }
        }   
        if(i == currentSelectionIndex + 1)
        {
            $(this).removeClass("thumb").addClass("currentThumb");
            $(this).parent().click();
        }
    });
}

if (event.keyCode == 37)
{   

    $("#thumbnail img").each(function(i) {

        if ($(this).hasClass("currentThumb"))
        {
            currentSelectionIndex = i;

            $("#thumbnail img").removeClass("currentThumb");
            $("#thumbnail img").addClass("thumb");  

            if (currentSelectionIndex == 0  && parseInt($('#start').text()) > 1)
            {
                prevImages(currentCategory.value);  
            }
        }   
        if(i == currentSelectionIndex - 1)
        {
            $(this).removeClass("thumb").addClass("currentThumb");
            $(this).parent().click();
        }
    });
}

});

4

2 に答える 2

0

選択を元に戻すだけで、元に戻すことができます。

$.fn.reverse = [].reverse; // at the top of your code


// in the event handler for left arrow
$("#thumbnail img").reverse().each(function(i) {

に戻すことを忘れないでください+

于 2013-10-18T18:11:05.010 に答える
0

keyupの代わりに使用すると機能する場合がありkeydownます。私はそれにいくつかの問題がありました。うまくいかない場合は、http://jsfiddle.netを使用して、簡単に解決できるようにしてください。

于 2013-10-18T17:59:37.393 に答える