setTimeout问题,没有时间了

时间:2013-03-18 11:44:12

标签: javascript jquery settimeout

抱歉,但这对我来说并不容易......! 我想在几秒钟后点击按钮后显示一个div。 它显示,但是当你点击时,没有延迟。我在这做错了什么?

$('div.skill').hide();
$('.btn_2').click(function(e){              
        showSkills ();
      });
function showSkills(){
    alert("Hello")
};
setTimeout ( "showSkills()", 3000 );

TNX

5 个答案:

答案 0 :(得分:3)

你关闭了。

  1. setTimeout调用应位于点击处理程序内,而不是位于其下方。
  2. 无需将函数名称作为字符串传递。
  3. 这是实现以下目标的正确方法:

    $('div.skill').hide();
    $('.btn_2').click(function (e) {
        setTimeout(showSkills, 3000);
    });
    
    function showSkills() {
        alert("Hello")
    };
    

答案 1 :(得分:2)

您在按钮点击处理程序中调用showSkills,将setTimeout行移动到您的点击处理程序中

$('div.skill').hide();
$('.btn_2').click(function(e){              
        setTimeout ( showSkills, 3000 );
      });
function showSkills(){
    alert("Hello")
};

答案 2 :(得分:0)

尝试:

setTimeout (function(){ "showSkills()"}, 3000 );

答案 3 :(得分:0)

$('div.skill').hide();

$('.btn_2').click(function(e){              
        setTimeout(showSkills, 3000);
});

function showSkills(){
    alert("Hello")
};

答案 4 :(得分:0)

试试这个:

$('div.skill').hide();
$('.btn_2').click(function(e){              
    setTimeout (showSkills, 3000 );
});
function showSkills(){
    alert("Hello")
};