我正在开发基于JavaScript的应用程序,并且继续遇到似乎是生产者/消费者问题(它发生在IE和Firefox中)的问题。表单按钮在javascript中覆盖超时事件
:项目描述:
有两个div(A和B)的页面。一个函数被安排超时在两个div之间每N秒翻转一次。
divs B有一个窗体中的按钮。按钮有一个点击回拨设置给他们 - 回调重置(刷新)表单。
:实施Bug /问题:
当DIV乙显示器和一个用户点击的按钮多次,函数(超时调度)翻转两个div似乎从未执行。如果它确实执行,则显示内容如此快速地显示,就好像超时从未被调用一样。
我试过使用全局范围的状态变量来控制何时按下按钮应该关闭,但似乎并不奏效。任何意见或建议是值得欢迎的!谢谢!
例
想象每个之间2秒的窗口,下图说明了如何将其与没有的onclick鼠标事件的工作原理:
seconds 0 2 4 6
+----+----+----+
divs A B A B
注:顶行是2秒的时间间隔,该底行是DIV翻转事件
用鼠标点击事件应该做这样的事情(A定于4秒究竟发生):
seconds 0 2 4 6
+----+----+----+
divs A BBBBBA B
它目前做:
seconds 0 2 4 6....
+----+----+----+....
divs A BBBBBBBBBBB....
的调度的事件从未发生过。
你能提供一个例子来说明这个问题? – 2012-01-04 22:00:42
请显示show html和JS。你是说表单按钮只是刷新表单(无论是使用Ajax还是根本没有服务器请求),还是刷新整个页面(这会清除超时)? – nnnnnn 2012-01-04 22:07:40
好的,感谢您花时间提供插图,但如果您也可以回复我以前的评论? – nnnnnn 2012-01-04 23:09:37