0

jQuery の animate を利用したスライダーを作成しました。スライドは左右に移動する必要があります。アニメーションが 1 ピクセルずれることがあります。左から 0 ピクセルまでスライドする必要がありますが、1 ピクセルで停止するとします。少なくとも Google Chrome では、この問題が発生します。それはなぜですか、どうすれば防ぐことができますか?

関数は次のとおりです。

var faces_width = 414;

function facebox_next (id) {
    var index = parseInt($(id).attr("index"));
    index++;
    if(index <= $(id).children("img").size()-1) {
        $(id).attr("index",index);
        $(id).animate({
            "left":-faces_width*index
        },300);
        //$(id).css("left",-faces_width*index);
    }
}

function facebox_prev (id) {
    var index = parseInt($(id).attr("index"));
    index--;
    if(index >= 0) {
        $(id).attr("index",index);
        $(id).animate({
            "left":-faces_width*index
        },300);
        //$(id).css("left",-faces_width*index);
    }
}

フィドル: http://jsfiddle.net/vXYdu/

4

1 に答える 1

0

divを1px小さい幅に変更するだけfacechangerで、問題は解決しました

div#facechanger {position:relative; height:542px; margin:32px 0;width:540px}
于 2012-11-20T03:00:06.087 に答える