0

我有这个小提琴http://jsfiddle.net/kureiii/45Exw/

var cur = 1;
var max = $(".collectionsCnt2").children("li").length;

$(".button-right").click(function () {

if (cur + 1 > max) return;
cur++;

$(".collectionsCnt2").animate({
    marginLeft: "-=500px",
}, 1000);

});

(".button-left").click(function () {
if (cur - 1 < 1) return;
cur--;
$(".collectionsCnt2").animate({
    marginLeft: "+=500px",
}, 1000);

});

滚动正在工作,但是我希望滚动在到达最后一个 li 或最后一个框时停止?..

4

2 回答 2

0

小提琴

您可以这样做,而不是对值进行硬编码,

marginLeft: -$(".collectionsCnt2 li:last-child").offset().left + $(".collectionsCnt2")[0].scrollLeft -51 + 'px'
于 2013-07-26T06:50:11.953 回答
0

尝试这个:

var cur = 1;
var max = $(".collectionsCnt2").children("li").length;

$(".button-right").click(function () {

    if (cur >= max) return;
        cur =  cur + (500/100 < max ? 500/100 : max);

        $(".collectionsCnt2").animate({
        marginLeft: "-=500px",
    }, 1000);

});

$(".button-left").click(function () {
    if (cur <= 1) return;
        cur =  cur - (500/100 < max ? 500/100 : max);
        $(".collectionsCnt2").animate({
            marginLeft: "+=500px",
        }, 1000);

    });
});
于 2013-07-26T06:23:32.123 回答