0

我正在创建一个广告框,如此处所示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();
})
4

2 回答 2

3

使用stop()..

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

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

但是......我也看看原生 setTimeout 函数。您可以使用清除超时

clearTimeout();

在这里摆弄

于 2013-07-15T07:54:02.723 回答
1

您可以.stop#clickme

演示在这里

$('#addBox').stop().show(100).delay(6000).hide(100);
于 2013-07-15T07:57:39.197 回答