シンプルな JavaScript ギャラリーを持っていますが、3 つまたは 4 つ以上の画像があるとパフォーマンスが低下します。混乱しないでください。次の画像にゆっくりと移動するという意味ではありません。次の画像に移動するときにギザギザで滑らかではないという意味です。コードをより最適化してスムーズにする方法はありますか? または、より速いjavascriptのより良い機能ですか?最近JavaScriptを調べ始めたばかりなので、何を探すべきかわかりません。
私はすでにすべての写真をそれぞれ 300kb 未満に圧縮しました。コードは次のとおりです。javascript と html の両方
//javascript
<script>
function slideSwitch() {
var r = Math.floor(Math.random() * 41) - 25;
var active = $("div#slideshow img.active");
active.siblings().css({'z-index': 97});
active.next().css({
'z-index': 98,
'-moz-transform': 'rotate(0deg)',
'-webkit-transform': 'rotate(0deg)',
'transform': 'rotate(0deg)'
});
active.css({ 'z-index': 99 });
if(active.hasClass('last')){
active.siblings(":first").css({ 'z-index': 98,
'-moz-transform': 'rotate(0deg)',
'-webkit-transform': 'rotate(0deg)',
'transform': 'rotate(0deg)' });
}
active.animate({ "left": (350+600) }, 250).css({
'-moz-transform': 'rotate(' + r + 'deg)',
'-webkit-transform': 'rotate(' + r + 'deg)',
'transform': 'rotate(' + r + 'deg)'
});
setTimeout(function () {
active.css({ 'z-index': 97 });
active.removeClass('active');
if (active.hasClass("last")) {
active.siblings(":first").addClass('active');
} else {
active.next().addClass('active');
}
active.animate({ "left": 350 }, 150);
}, 250);
}
$(function () {
setInterval("slideSwitch()", 1000);
});
<!--HTML-->
<div id="slideshow">
<img src="picture/img1.jpg" style="position:absolute;" class="active" />
<img src="picture/img2.jpg" style="position:absolute;" />
<img src="picture/img3.jpg" style="position:absolute;" />
<img src="picture/img4.jpg" style="position:absolute;" />
<img src="picture/img5.jpg" style="position:absolute;" />
<img src="picture/img6.jpg" style="position:absolute;" />
<img src="picture/img7.jpg" style="position:absolute;" />
<img src="picture/img8.jpg" style="position:absolute;" />
<img src="picture/img9.jpg" style="position:absolute;" />
<img src="picture/img10.jpg" style="position:absolute;" />
<img src="picture/img11.jpg" style="position:absolute;" />
<img src="picture/img12.jpg" style="position:absolute;" class="last"/>
</div>
皆さんありがとう。