setTimeout问题,则没有超时

setTimeout issue, there is no time out

本文关键字:超时 问题 setTimeout      更新时间:2023-09-26

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

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

Tnx

你很接近了。

  1. setTimeout调用应该在你的点击处理程序里面,而不是在它下面。
  2. 不需要以字符串形式传递函数名

这是实现目标的正确方法:

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

如果在按钮点击处理程序中调用showSkills,则将setTimeout行移到点击处理程序中

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

try:

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

试试这个:

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