我有这个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');
}
}
答案 0 :(得分:2)
尝试:
function accessTransition()
{
$('.fact-intro-1').slideUp(1000);
$('.fact-text-1').css('display', 'inline-block');
}
$('#next-btn').click(function(e) {
window.setTimeout(accessTransition, 1500);
}
我认为超时无法获得此功能,因为它嵌套在事件处理函数中(javascript具有基于函数的作用域)。
答案 1 :(得分:1)
function accessTransition()
{
$('.fact-intro-1').slideUp(1000);
$('.fact-text-1').css('display', 'inline-block');
}
$('#next-btn').click(function(e) {
window.setTimeout(accessTransition, 1500);
}
您应该在事件处理程序之外定义函数。