jQuery's fancyZoom and delayedObserver conflict.

Hello list,

I know this is more client-side stuff since I’m using Rails js helpers, I thought I would be posting here. http://pastie.org/379754 – the delayedObserver simply doesn’t work when fancyZoom is activated (it simply fails silently). If I remove the fancyZoom related code, it works ok. Here’s a sample code: http://pastie.org/379754. Does anyone know why?

Thanks,

Marcelo.

Ok, here’s why:

fancyZoom hides the target div, and its show() method then creates a duplicate of this DOM subtree. The problem is that it keeps the same ids, and we all know we can’t have elements with the same ID – thus, $() and getElementById fail. The solution was to be more specific and select like this: $(‘#zoom-content #id’), where #zoom-content is the name of the duplicated div that fancyZoom creates, which is different from the hidden div.

Marcelo.