光标在 Internet Explorer 上的焦点问题

Focus issue of cursor on 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);

我前面有一个简单的表格。在 Internet Explorer 中,每次图像更改时,此表单焦点似乎都会消失,但在 Chrome 和 Firefox

中运行良好

jQuery 的 fadeOut 将不透明度设置为 0 ,然后设置 display: none.

我认为当 Internet Explorer 在 display: none 容器中时,它会将焦点从表单上移开。

您可以尝试使用 animate() 代替:

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

一个问题:您正在使用即时转换(持续时间为 0),那么为什么要调用 fadeIn/fadeOut? (看起来 css() 调用本身就足够了)