0

setInterval() を使用して複数の画像をループする関数があります。Firefox と IE で正常に動作します (私のコンピューターにある場合)。インターネットにアップロードすると、IEはActiveXコントロールを許可するかどうかを尋ねず(代わりに「デフォルトブラウザー」ポップアップが表示されます)、それらは無効のままで、setIntervalが機能しません。関数はonClickで正しく実行されますが、setIntervalでは実行されません

   setInterval(function(){
if (status == "on" ){

$('#NavigationSites li').removeClass('active');
    $('#NavigationSites li:eq('+ x +')').addClass('active');
    $('#TechnologiesWork').html('<img src = "img/'+x+'BackgroundTech.png"/> ');
    $('#PicSiteArena').hide().html('<a href = "#"><img src =      "img/'+x+'Arena.png"/></a> ').fadeIn('slow');
    x++;
    if ( x == "5"){
    x = "0";
}//status on
    }
}, 5000);
4

1 に答える 1

0

奇妙なことに、問題は IF ブロックにあることが判明しました (実験により判明しました)。ブール値 (true と false) を持つ変数を使用すると、インターネット上の IE でも機能します。

setInterval(function(){
        if ( on ){
        $('#NavigationSites li').removeClass('active');
        $('#NavigationSites li:eq('+ x +')').addClass('active');
        $('#TechnologiesWork').html('<img src = "img/'+x+'BackgroundTech.png"/> ');
        $('#PicSiteArena').hide().html('<a href = "#"><img src = "img/'+x+'Arena.png"/></a> ').fadeIn('slow');
        x++;
            if ( x == "5"){
                x = "0";
            }
        }
        }, 5000);


$('#LastSitesArena').mouseenter(function(){
on = !on;
});
$('#LastSitesArena').mouseleave(function(){
on = true;
});
于 2013-10-02T16:10:04.373 に答える