Closed okstaticzero closed 10 years ago
Bump. Using v0.89 and have tried it with both jQuery 1.6.1 and 1.6.4.
Here's a surprise--delay() works fine in IE9. My first comment above (re v0.89) apparently applies to Chrome, FF, and Safari.
Any insights into this? I also have the problem. delay() does not work for me.
I'm using a work around for now. I saw somewhere else that there is a separate, delay-like plugin that does the same thing as delay(), but works with animate-enhanced. That sounded heavy to me. I took a different (potentially silly) approach: I have jQuery show/hide a 1x1 transparent gif and set the duration to my desired delay time, then use the callback to move forward with the animation. Just a temporary measure until the real delay() bug is fixed.
I just switched to :http://ricostacruz.com/jquery.transit/ // https://github.com/rstacruz/jquery.transit
Wow, that is nice. The biggest downside seems to be lack of support for IE9. For me, IE is still (unfortunately) about 50% of users. How do you plan to handle that? Are you going to sniff the user agent and enable the animate fallback, or just ignore IE altogether?
You can easily fall back to animate():
// Delegate .transition() calls to .animate()
// if the browser can't do CSS transitions.
if (!$.support.transition) {
$.fn.transition = $.fn.animate;
}
I had the same problem. I ended up using some class vars for a globally accessible queue system and some closures to hold my function and iterated elements, and setTimeout - but it's be nicer to just use delay. Still these are way faster on iOS - and the workaround only took 10 minutes. :-)
Bump. Would love delay to work for this script.
Downgrading to version 0.73 will restore the .delay() (but you get all the other problems plus some incompatibilities with jquery 1.7.2)
If you wish to give it a try: https://github.com/benbarnett/jQuery-Animate-Enhanced/tree/6b4424c944ecd784856c08012390fe068932e879
@technotarek IE9 works because IE9 doesn't support CSS3 animations, hence the regular jQuery animation is used. Browser with CSS3 animation support however ignore delay(). I'm using jQuery 1.10 with 1.0 of this plugin. Delay() is completely ignored in modern browsers (that have css3 animation support). Any roadmap for a fix? Otherwise i need to find another plugin.
I'm in a similar position, would really love .delay to work here:
$(".icon").each(function(i) { $(this).delay((i + 0.5) * 300).fadeIn(500); });
I may resort to the transparent gif approach above, though seems a bit hacky, or http://ricostacruz.com/jquery.transit/, but would love to use animate enhanced instead.
meanwhile, i switched to anima which has it's custom delay function. Works very well https://github.com/minimit/minimit-anima
Great, I think I will try this. I basically need a plugin that will use hardware accelerated animation for opacity on mobile devices whilst falling back to .animate() on older desktop browsers - and critically that works with .delay()
Happy for someone to pick this up but I would recommend another plugin for this for now
I'm using version v0.85 and delay doesn't seem to be working. Using this syntax: $(this).delay(500).animate({top:'50px'})