コンディションのあるdivにdivをアニメーション化するコードブロックをまとめることができましたが、私の計算はちょっと左に少し動かす必要があります。 outterWidthを試してみてくださいhttp://dev.whiteb0x.com/galleryjquery animate div左/右の条件の場合
var width = $('#nav').width();
$('#nav').width(width * 2 + 20);
$(".nav-next").click(function() {
var pos = $('#nav').position();
var width = $('#nav-viewport').width();
var width = width * (-1);
alert(width);
if (pos.left <= 0 && pos.left > width && !$('#nav').is(':animated')) {
$('#nav li:first').before($('#nav li:last'));
$("#nav").animate({"left": "-=300"}, "slow");
}
});
$(".nav-prev").click(function() {
var pos = $('#nav').position();
if (!pos.left <= 0 && !$('#nav').is(':animated')) {
$('#nav li:first').before($('#nav li:last'));
$("#nav").animate({"left": "+=300"}, "slow");
}
});
あなたは二回、あなたの内側の範囲に 'width'を宣言している(2用320、私はあなたがすることを望むとは思いません)。しかし、問題の原因ではありません。 –
また、Firefoxではアニメーションが機能していないようです。私はそれを引き起こしているのか分かりません。 –
おそらく、ライブページに 'left'と' right' CSSの両方を定義しているからです。スクロールしている方向にかかわらず、どちらか一方を常に使用する必要があります。ミキシングとマッチングはトラブルの原因になります。 –