【发布时间】:2026-02-23 22:30:02
【问题描述】:
抱歉标题不好,这么短的地方不容易解释。
我想要完成的工作: 我有一个小通知栏,当您在未登录时转到链接时,它会从我的网站顶部向下滑动。它只是以一种聪明的方式说“你不能去这里”。单击它后,它会向下滑动,然后使用 .delay() 等待 2500 毫秒,然后再向上滑动。我想要它,所以如果你点击一个新的,它会取消延迟并立即向上滑动旧的并拉下一个新的。
问题是: 如果您一遍又一遍地单击按钮来关闭通知,它将等待 .delay 完成,然后再转到下一个,从而创建和无尽的通知流,您必须等待通过。我想要它,所以当你点击一个新标签时,它会停止 .delay 并立即转到那里,所以如果你是强迫性的或不小心点击的,你不会有延迟。
当您点击菜单栏中的“游戏”、“项目”、“竞赛”或“论坛”链接时,通知会出现。
Javascript:
function notifyevent(){
$('#subscribercontent').slideUp('fast');
$('#subscribercontent').slideDown('fast').delay(2500).slideUp('fast')
}
有意义吗?我到处都看到这个问题,如果你点击多次,它必须等待延迟完成。但是我不想摆脱向上滑动并向下滑动,因为我希望通知的动作反应下降,因此您可以将通知栏向下与您的点击相关联。
谢谢!
【问题讨论】:
-
@js1568 stop 只会停止动画而不是延迟,至少在我看来
-
效果不太好,有点来回跳动,好像被卡住了。
-
是的,.stop() 会在 .delay 完成之前中断您单击时的延迟。
标签: javascript jquery function onclick delay