【发布时间】:2015-01-23 20:08:07
【问题描述】:
我有一些 jquery ajax,当它返回时,根据操作的结果,淡入和淡出页面上的各种 DIV 消息。例如:
$("#RefConflictSelf").fadeIn(1000).fadeOut(6000);
我喜欢这种效果,我想保留它。
当用户在单击另一个按钮触发另一个 ajax 操作之前至少等待 7 秒时,这可以正常工作。但是,如果他们一个接一个地点击按钮(实际上是合法的事情),淡入淡出的 div 开始堆积,因此您会看到这些 div 淡入淡出,用于用户不再关心的几个先前的操作。
总结:当用户点击第二个按钮时,他们不再关心第一次/上一个按钮点击后 div 的淡入/淡出。
问题:有没有办法立即隐藏任何“淡入或淡出”的 div,但仍然正确淡入最新按钮单击的消息?
我已经尝试过了:每当单击按钮时,我都会立即隐藏所有消息 div,例如:
$("#RefConflictSelf").hide();
这种方法可行,但很笨拙,因为如果您一个接一个地单击 5 个按钮 1,则较新的 div 消息将保持不可见,直到原始消息消失为止。所以“.hide()”似乎踩在了较新的“淡入”操作上,直到原始(或最新的非踩踏)的淡入淡出时间过去,一切都完成了。
我如何让 jquery 隐藏所有以前的淡入淡出的 div 消息,但然后让最新的 div 消息淡入,然后像往常一样淡出? (当然,除非随后单击另一个按钮,在这种情况下,应踩下旧按钮,并允许新按钮工作。)
【问题讨论】:
标签: jquery