2017-10-17 2 views
0

Ich habe den folgenden Code zum Autowechsel Hintergrundbilder.Fokus Problem des Cursors auf Internet Explorer

function changeBackground() { 
    currentBackground++; 
    if(currentBackground > 3) currentBackground = 0; 

    $('body').fadeOut(0, function() { 
     $('body').css({ 
      'background-image' : "url('" + backgrounds[currentBackground] + "')" 
     }); 
     $('body').fadeIn(0); 
    }); 


    setTimeout(changeBackground, 3000); 

Ich habe eine einfache Form in der Front. Im Internet Explorer scheint diese Form Fokus jedes Mal die Bildänderungen zu gehen, aber funktioniert gut in Chrome und Firefox

Antwort

1

jQuery beseelt fadeOut Opazität auf 0 und setzt dann display: none.

Ich denke, Internet Explorer nimmt den Fokus weg von der Form, wenn es in einem display: none Container ist.

könnten Sie versuchen animate() anstelle:

$('body').animate({ opacity: 0}, 0, function() { 
    $('body').css({ 
     'background-image' : "url('" + backgrounds[currentBackground] + "')" 
    }); 
    $('body').animate({ opacity: 1 }, 0); 
}); 

Eine Frage: Sie sofortige Übergänge verwenden (eine Dauer von 0 vorbei), also warum Sie fadeIn/fadeOut fordern? (es sieht so aus, als ob der css() Anruf alleine genug wäre)