with the 3118 beta the possibility to automatically iterate through the states of a Dynamic Panel was introduced.
This (and the new OnLoad event) made the crazy flicker element even easier to build.
For those who haven't heard of it, the crazy flicker is an element that triggers an event after a (short) fixed amount of time. It is a nice hack to monitor elements frequently and trigger events based on it.
Here is what the crazy flicker interaction looks like:
The OnLoad event starts the crazy flicker (= the rotation of the panels) and on every panel state change a custom event is triggered (the crazy Flicker is a Master). I added OnShow and OnHide events to be able to turn the crazy flicker on and off by changing the visibility of the Dynamic Panel.
Here is how you can use the Master to track the state of a panel (not a great example but I think it gets the idea across):
Hi Lennart - Thanks for posting this up. The repeating function of the dynamic panel certainly helps for making the flicker. Instead of having to use an opposing show/hide combo you can just set the panel state to next with repeating. From there you're using the OnPanelStateChange with conditions as usual.
very welcome and thanks for the flowers. :-)
I added the show/hide events to be able to manually stop the flicker.
Yes, I think the crazy flicker is an element that will stay. It reminds of the good old times and the assembly languages' use of interrupts. It's a frequently-called event that you can use to check out things.
You should check out Axure for Mobile, my ebook teaching you everything you need to know about mobile prototyping.
Thanks, I've been using something similar but without the show/hide interrupt you have, that would certainly have been useful in a few cases.
This type of widget is something I've come to rely on as I frequently need to build prototypes of somewhat complex e-commerce flows, often of cart/checkout processes where all sorts math needs to be recalculated each time the user does something, this allows me to simply use variables to track values and just recalculate and set text every 100ms or whatever.