そこで、個人用の小さな jQuery プラグインを作成しようとしています。関数は完了しましたが、setInterval() 関数が何らかの理由で 2 回起動し、その理由がわかりません。最初は 2 回起動しないように見えますが、テスト (間隔の各トリガーにアラートを追加) によって 2 回起動することがわかっています。数分で非常に速くなります) これは 2 回起動した結果です。
誰かがこれを修正する方法を教えてもらえますか?
Javascript コード:
(function( $ ) {
$.fn.imageSwap = function(img) {
var src = this.attr("src");
var id = this;
id.fadeToggle("fast", function(){
id.attr("src", img);
id.fadeToggle("fast");
});
return this;
};
})( jQuery );
(function( $ ) {
$.fn.slideShow = function(array, time) {
var i = -1;
var num = array.length;
var id=this;
var interval = setInterval(function(){
i++
if(i>(num)-1){i=0}
id.imageSwap(array[i]);
},time);
};
ページコード:
<script>
$("#slideshow").slideShow([
"http://www.rta.nsw.gov.au/licensing/images/dkt_faqs/number1.gif",
"http://www.rta.nsw.gov.au/licensing/images/dkt_faqs/number2.gif",
"http://www.rta.nsw.gov.au/licensing/images/dkt_faqs/number3.gif",
"http://www.rta.nsw.gov.au/licensing/images/dkt_faqs/number4.gif"
], 1000);
</script>
<img id="slideshow" src=""/>