0

我的网站顶部有一个带有关闭按钮的警报。这是用于关闭按钮的 jQuery:

/* CLOSE ALERT BAR WITH BUTTON */
$('a.ctp-alert').click(function () {
$("div.ctp-alert").slideUp();
});

它自己运行良好,但我也在尝试添加另一个脚本,它将在 5000 毫秒后向上滑动这个 DIV。这是我正在使用的 jQuery:

/* FADE OUT ALERT BAR AUTOMATICALLY */
$("div.ctp-alert").delay(5000).slideUp(500);

这两个脚本都可以单独运行,但是当同时使用这两个脚本时,关闭按钮会停止工作。两个人好像在互相干扰。

关于我可以让这些一起工作的任何想法?提前致谢。

4

1 回答 1

1

.delay()不幸的是,您将无法在此处使用,因为您无法使用$.delay.

而是用 setTimeout 写(有点难看)

var timers = {};
$('a.ctp-alert').click(function () {
    $("div.ctp-alert").slideUp();
    clearTimeout(timers.hider);
    timers.hider = null;
});

timers.hider = setTimeout(function() {
   $("div.ctp-alert").slideUp(500);
   timers.hider = null;
}, 5000);
于 2013-11-11T22:29:15.287 回答