0

简单地说,我有一个带有data-next, data-prev, data-catattr 的 div。

这是到目前为止的js..

$(document).keydown(function(event) {

    var prev = $("#myDiv").attr('data-prev'),
        cat = $("#myDiv").attr('data-cat'),
        next = $("#myDiv").attr('data-next');

    switch (event.keyCode) {

        case 37:
            if (prev >= 1) {
                window.location = "http://site.com/picture/" + prev;
            }
            break;

        case 39:
            if (next > 1) {
                window.location = "http://site.com/picture/" + next;
            }
            break;
    }
});​

该代码有效,但仅适用于左右动作。对于猫,我认为这样做,但我认为是错误的,有更好的方法来做到这一点!

$(document).keydown(function(event) {

    var prev = $("#myDiv").attr('data-prev'),
        cat = $("#myDiv").attr('data-cat'),
        next = $("#myDiv").attr('data-next');

    if (cat) {
        switch (event.keyCode) {

        case 37:
            if (prev >= 1) {
                window.location = "http://site.com/picture/" + prev;
            }
            break;
        case 39:
            if (next > 1) {
                window.location = "http://site.com/picture/" + next;
            }
            break;

        }
    }
    else {
        switch (event.keyCode) {
            // but i dont how to insert the cat var the link have to be cat/{n}/picture/{n}
        case 37:
            if (prev >= 1) {
                window.location = "http://site.com/picture/" + prev;
            }
            break;
        case 39:
            if (next > 1) {
                window.location = "http://site.com/picture/" + next;
            }
            break;

        }
    }
});​
4

1 回答 1

1

(评论中有很多解释)

所以,我想知道你为什么使用 window.location :它对页面进行了无用的刷新。

我做了一个非常基本的小脚本,它改变了按键上的 img src。您可能需要对其进行调整(我使用了来自 placekitten.com 的猫),但我保留了您的图像编号。我试图让它简单易懂。

http://jsfiddle.net/teVPD/11/

可以添加许多功能(动画、猫预加载),但这是增强汽车滑块的良好开端。

看看,如果你有任何问题,不要犹豫,问他们。

于 2012-04-26T16:33:35.113 回答