1

一部がサーバー側で生成されるため、外部jsファイルの外部で次の変数を宣言しました。

<script type="text/javascript">
     var images=new Array(<%= Master.slideshowArray %>);
</script>

何らかの理由で、これを外部 js ファイル (以下) から削除すると、スライドショーが機能しなくなります...グローバル変数として宣言する際にエラーが発生したか、グローバルに宣言する必要がある何かが他にあると推測しています.. 。 何か案は?

var nextimage=0;

doSlideshow();

function doSlideshow()
{
    if($('.backgroundImage').length!=0)
    {
        $('.backgroundImage').fadeOut(500,function(){slideshowFadeIn();$(this).remove();});
    }
    else
    {
        slideshowFadeIn();
    }
}

function slideshowFadeIn()
{
    if(nextimage>=images.length) 
        nextimage=0;

    $('.homeLeadContent').prepend($('<img class="backgroundImage" src="'+images[nextimage++]+'" style="display:none;">').fadeIn(500,function() {
        setTimeout(doSlideshow,1000);
    }));
}
4

1 に答える 1

1

外部 js ファイルのスクリプト タグは、var images=...インライン スクリプト タグの前にありますか?

ブラウザは表示された順序でコードを実行するため、外部 js ファイルが最初に表示された場合、doSlideShow() 関数を実行します。この関数は、slideshowFadeIn() を呼び出す可能性があり、存在しないものを参照しようとします。 -ポイント画像変数。

于 2011-03-08T09:45:52.143 に答える