# Synchronized Animation/blinking

**URL:** <https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198>\
**Category:** Ignition\
**Created:** [September 5, 2013, 3:52pm UTC](https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198 "2013-09-05T15:52:57Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![eric129](https://avatars.discourse-cdn.com/v4/letter/e/7ea924/32.png) [@eric129](https://forum.inductiveautomation.com/u/eric129)\
**Post date:** [September 5, 2013, 3:52pm UTC](https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198/1 "2013-09-05T15:52:57Z")

</div>

I have multiple parts in a window, all instances of the same template. The template has a style customizer set on one of it subparts that causes it to blink if a boolean is true. 500ms visible, 500ms not.

Each instance of the template part is tied to different element in a dataset.

The problem I’m having is they don’t blink in unison.

Is there a way to get them to do that?

---

<div class="post-metadata">

**Author:** ![Robert.McKenzie](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/robert.mckenzie/32/4134_2.png) [@Robert.McKenzie](https://forum.inductiveautomation.com/u/Robert.McKenzie)\
**Post date:** [September 25, 2013, 11:05pm UTC](https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198/2 "2013-09-25T23:05:47Z")

</div>

Yes, you can do that pretty easily with a timer component but there isn’t a great way to get them all to blink in unison with the animation feature in the style customizer. You would have to put a single timer somewhere on your screen and have all of your objects bounce between values based on that.

---

<div class="post-metadata">

**Author:** ![Pat](https://avatars.discourse-cdn.com/v4/letter/p/8491ac/32.png) [@Pat](https://forum.inductiveautomation.com/u/Pat)\
**Post date:** [September 26, 2013, 6:16pm UTC](https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198/3 "2013-09-26T18:16:55Z")

</div>

Create a client tag called Flasher, then place a timer on a window that is always opened and have the timer update the Flasher tag.

---

<div class="post-metadata">

**Author:** ![Robert.McKenzie](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/robert.mckenzie/32/4134_2.png) [@Robert.McKenzie](https://forum.inductiveautomation.com/u/Robert.McKenzie)\
**Post date:** [September 26, 2013, 6:48pm UTC](https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198/4 "2013-09-26T18:48:37Z")

</div>

If you are going to use a client tag, then you can use a Client Tag Change script to toggle it instead of a timer.

---

<div class="post-metadata">

**Author:** ![pturmel](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/pturmel/32/3295_2.png) [@pturmel](https://forum.inductiveautomation.com/u/pturmel)\
**Post date:** [December 2, 2015, 8:20pm UTC](https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198/5 "2015-12-02T20:20:53Z")

</div>

I’d use a client tag like Pat suggested, with this expression:`objectScript('args[0].time % 1500 < 750', now(750))`Uses [Simulation Aids’](https://inductiveautomation.com/forum/viewtopic.php?f=50&t=14532) objectScript() – could use runScript() v7.8+.

---

<div class="post-metadata">

**Author:** ![JordanCClark](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jordancclark/32/83362_2.png) [@JordanCClark](https://forum.inductiveautomation.com/u/JordanCClark)\
**Post date:** [December 3, 2015, 12:26pm UTC](https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198/6 "2015-12-03T12:26:15Z")

</div>

**_EDIT: fixed dead link._**

My take is a bit different-- as most of my takes seem to be. 😆 :

A Client folder called “Flash”. This folder contains a tag called RootValue, which is updated by a Client Timer script running at 125ms:

`value=system.tag.read("[Client]Flash/RootValue").value + 1
if value > 15:
  value = 0
system.tag.write("[Client]Flash/RootValue", value)`

Then, added four more tags, each extracting a different bit from RootValue.

 ![](https://us1.discourse-cdn.com/inductiveautomation/original/2X/4/4aa57e7295f81075676c7dd7d8dadb27c98e543b.jpg)  
  
Now I have four different bits with four different rates.

Here is a complete project to illustrate.  
[Flasher\_2018-10-13\_1117.proj](https://us1.discourse-cdn.com/inductiveautomation/original/2X/a/ad9fcfacbf4bfd86df9672bdc26786e6b699e489.proj) (18.4 KB)

---

<div class="post-metadata">

**Author:** ![nminchin](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/nminchin/32/6911_2.png) [@nminchin](https://forum.inductiveautomation.com/u/nminchin)\
**Post date:** [October 29, 2018, 11:49pm UTC](https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198/7 "2018-10-29T23:49:25Z")

</div>

I just thought I’d share my solution here (didn’t see this post originally), as inspired by others.  
[http://forum.inductiveautomation.com/t/generate-0-5s-and-0-25s-pulse-tag/20391/4](http://forum.inductiveautomation.com/t/generate-0-5s-and-0-25s-pulse-tag/20391/4)

---

<div class="post-metadata">

**Author:** ![JClayton](https://sea1.discourse-cdn.com/inductiveautomation/user_avatar/forum.inductiveautomation.com/jclayton/32/26566_2.png) [@JClayton](https://forum.inductiveautomation.com/u/JClayton)\
**Post date:** [July 28, 2021, 7:18pm UTC](https://forum.inductiveautomation.com/t/synchronized-animation-blinking/7198/8 "2021-07-28T19:18:48Z")

</div>

just wanted to add my solution here. haven’t seen anyone offer this answer. On the root container, check the ‘Combine Repaints’ option in the Behavior settings section. sync’d all my blinks on the form together.
