Note, I am using the latest Safari (9.0.2) and the latest Chrome. I know that as of 9.0.x safari handles a lot more of the animation prefixes for you. Yay! Also, I've submitted a bug report.
At it's most simplest, I'm trying to set the animation-delay only using JavaScript for a CSS Keyframe animation. The code is as follows:
el.style.setProperty("-webkit-animation-delay", "5s", "important"); Now in Chrome, this updates the animation-delay property as I expect only. The animation property is left untouched, which is what I want:
In Safari, however, this overwrites the animation property, which for my purposes is not okay:
Obviously that's not even a valid animation value. I basically want this working in Safari without overriding the animation property. Is there an alternative method to achieve this?
The idea from the CSS / HTML room was to add the class to the CSS and then just toggle it with classList.toggle, however this animation delay property will be dynamic and repeatedly changed. These values are NOT known beforehand.
JSFiddle: https://jsfiddle.net/swakq13a/3/


setProperty, but assigning the value directly viael.style.webkitAnimationDelay = "5s"? (Replace with appropriate vendor prefix where necessary.)setProperty.box.style.webkitAnimationDelay = "200s";jsfiddle.net/swakq13a/6animation.duration + "s " + animation.timingFunction + " " + animation.delay + "s " + animation.iterationCount + " " + animation.direction + " " + animation.fillMode + " " + animation.playState + " " + animation.name;.