次のコードは、さまざまな項目をバーにスライドさせる機能を制御します。 JavaScriptをサポートするブラウザでCSS3を使用するJQuery animate enhancedというプラグインを使用しています。JQueryアニメーションがWebkitで強化され、不一致
CSS3がないと、この機能は完全に機能します。しかしCSS3ではすべてのタブが選択されると、最初のタブはもはや協力しなくなります。
フィドル:http://jsfiddle.net/cqBZz/3/
コード:
$(document).ready(function() {
var bounceholder = 0;
var delayact = 0;
$('.bouncetabs a').click(function() {
$('.bouncetabs a').removeClass('active');
$(this).addClass('active');
if ($(this).index('.bouncetabs a') < bounceholder) {
var backwards = 1
} else {
var backwards = 0
}
bounceholder = $(this).index('.bouncetabs a');
var bounceoffset = 0;
if ($('.bounceholder ul:eq(' + bounceholder + ') li').length == 6) {
var bounceoffset = 0;
} else if ($('.bounceholder ul:eq(' + bounceholder + ') li').length == 5) {
var bounceoffset = 72;
} else if ($('.bounceholder ul:eq(' + bounceholder + ') li').length == 4) {
var bounceoffset = 144;
} else if ($('.bounceholder ul:eq(' + bounceholder + ') li').length == 3) {
var bounceoffset = 216;
} else if ($('.bounceholder ul:eq(' + bounceholder + ') li').length == 2) {
var bounceoffset = 288;
}
$('.bounceholder ul:eq(' + bounceholder + ')').prevAll().each(function() {
$('li', this).each(function() {
$(this).delay(150).animate({
left: -200,
top: 0,
leaveTransforms: true
}, {
duration: 400,
queue: true
});
});
});
$('.bounceholder ul:eq(' + bounceholder + ')').nextAll().each(function() {
$('li', this).each(function() {
$(this).delay(150).animate({
left: +1000,
top: 0,
leaveTransforms: true
}, 600);
});
});
if (backwards == 1) {
bounceoffset = 800 - bounceoffset;
$($('.bounceholder ul:eq(' + bounceholder + ') li').get().reverse()).each(function (i) {
delay = (i + 1) * 100;
$(this).delay(delay).animate({
left: +bounceoffset,
top: 0,
opacity: 0.6,
leaveTransforms: true
}, {
duration: 400,
queue: true
});
bounceoffset -= 160;
});
} else {
$('.bounceholder ul:eq(' + bounceholder + ') li').each(function (i) {
delay = (i + 1) * (100 * delayact);
$(this).delay(delay).animate({
left: +bounceoffset,
top: 0,
opacity: 0.6,
leaveTransforms: true
}, {
duration: 400,
queue: true
});
bounceoffset += 160;
});
}
delayact = 1;
return false
});
});
「leaveTransforms」をfalseに設定しない理由は何ですか?この問題はおそらくcss3の移行Jquery.animateプラグインのどこかにある可能性があります。おそらくそのコードを見ているともっと役に立つでしょう。 – donutdan4114
@ donutdan4114変更された機能を変更しようとしましたが、 –