0

本质上,我创建了一个缩略图库,您可以使用左右箭头滚动浏览。右箭头事件工作得非常好,所以我假设左箭头事件除了带有 (-) 值之外是相同的。但是,当我按左键时,它只会每隔第二次转到上一个缩略图。

有人可以看看我的代码,让我知道我缺少什么吗?谢谢!

$(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

它可以使用keyup而不是keydown. 我有一些问题。如果它不起作用,请使用http://jsfiddle.net以便我们更轻松地解决它。

于 2013-10-18T17:59:37.393 回答
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 回答