引用错误:未定义函数-Firefox

Reference Error: function is not defined - Firefox

本文关键字:函数 -Firefox 未定义 错误 引用      更新时间:2023-09-26

我有一个javascript,它在1.5秒计时器后调用一个函数。在Chrome中,它运行得很好。在Firefox中,我得到一个参考错误:accessTransition没有定义。为什么会出现这种情况,有什么解释吗?

$('#next-btn').click(function(e) {
    window.setTimeout(accessTransition, 1500);
    function accessTransition()
    {
        $('.fact-intro-1').slideUp(1000);
        $('.fact-text-1').css('display', 'inline-block');
    }
} 

尝试使用:

function accessTransition()
    {
        $('.fact-intro-1').slideUp(1000);
        $('.fact-text-1').css('display', 'inline-block');
    }
$('#next-btn').click(function(e) {
    window.setTimeout(accessTransition, 1500);
} 

我认为timeout不能得到这个函数,因为它嵌套在事件处理程序函数中(javascript具有基于函数的作用域)。

function accessTransition()
{
    $('.fact-intro-1').slideUp(1000);
    $('.fact-text-1').css('display', 'inline-block');
}
$('#next-btn').click(function(e) {
    window.setTimeout(accessTransition, 1500);
}

您应该在事件处理程序之外定义函数。