JavaScript setTimeout无法在IE上运行

时间:2015-02-20 08:53:52

标签: javascript internet-explorer settimeout

Preloader工作3秒,并显示网站内容。但是在IE和MackBook预加载器上无限工作......我怎么能解决这个问题呢?

<div id="page-preloader"><span class="spinner"></span></div>

<script>
var waiting = new Promise(function (resolve) {
    setTimeout(resolve, 3000);
});
waiting.then(function () {
        var $preloader = $('#page-preloader'),
            $spinner = $preloader.find('.spinner');
        $spinner.fadeOut();
        $preloader.delay(350).fadeOut('slow');
    });

      </script>

1 个答案:

答案 0 :(得分:-1)

IE设置超时与其他浏览器不同。

Internet Explorer中的

param指定myFunction中的代码是JScript,JavaScript还是VBscript。另请参阅:MSDN。它的行为与其他浏览器不同。

以下工作:

function myFunction(){
    var $preloader = $('#page-preloader'),
    $spinner = $preloader.find('.spinner');
    $spinner.fadeOut();
    $preloader.delay(350).fadeOut('slow');
});

setTimeout( (function(param) {
    return function() {
        myFunction(param);
    };
})(param) , 3000);

有关更多信息,请查看: setTimeout Internet Explorer