3

对不起,但这对我来说并不容易......!我希望在单击按钮后几秒钟后显示一个 div。它正在显示,但是当您单击时,没有延迟。我在这里做错了什么?

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

肿瘤坏死因子

4

5 回答 5

3

你很近。

  1. setTimeout调用应该在您的点击处理程序内部,而不是在它下方。
  2. 无需将函数名称作为字符串传递。

这是实现您所追求的正确方法:

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

function showSkills() {
    alert("Hello")
};
于 2013-03-18T11:46:35.857 回答
2

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

$('div.skill').hide();
$('.btn_2').click(function(e){              
        setTimeout ( showSkills, 3000 );
      });
function showSkills(){
    alert("Hello")
};
于 2013-03-18T11:46:27.523 回答
0

尝试这个:

$('div.skill').hide();
$('.btn_2').click(function(e){              
    setTimeout (showSkills, 3000 );
});
function showSkills(){
    alert("Hello")
};
于 2013-03-18T11:47:54.947 回答
0

尝试 :

setTimeout (function(){ "showSkills()"}, 3000 );
于 2013-03-18T11:46:56.443 回答
0
$('div.skill').hide();

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

function showSkills(){
    alert("Hello")
};
于 2013-03-18T11:47:01.017 回答