我正在创建一个广告框,如此处http://jsfiddle.net/TFeXY/1/所示,

当用户点击“展示广告”按钮时,“ addBox”打开,他可以通过点击“关闭”按钮关闭“ addBox” div。这一切都正常工作。

但是,如果用户在10秒(例如3秒钟后)之前点击“ addbox”的关闭按钮,然后点击“ Show Ads”按钮,则“ addBox”不会立即打开。我如何才能立即显示“ addBox”。

这是html部分,

<div id ="addBox" style ="display:none; height:200px; width:200p x; background:red">
    advertisment popup
    <a id ="Close" syle="float:right;">Close</a>
</div>

<a id="ShowAds">Show Ads</a>


和jQuery部分:

$('#ShowAds').click(function(){
$('#addBox').show(100).delay(10000).hide(100);
})

$('#Close').click(function(){
$('#addBox').hide();
})

最佳答案

使用stop() ..

 $('#clickme').click(function () {
   $('#addBox').show(100).delay(6000).hide(100);
 })

$('#Close').click(function () {
    $('#addBox').stop().hide();
})


但是...我也看本机setTimeout function。您可以使用清除超时

clearTimeout();


fiddle here

09-18 12:10