У вас есть проблема с областью видимости в вашем jsfiddle.Не уверен насчет реального кода, но так как вы не показываете, как вызывается этот js, я предполагаю, что это та же проблема.
Обратите внимание, что jsfiddle выполнит код, указанный вами в обработчике $(document).ready()
(см.параметры в левом верхнем углу), и поэтому вы switchDiv будет определен там.Где, когда ваш тайм-аут ищет switchDiv для глобального объекта, и фактически это setTimeout("window.switchDiv()", 5000);
Решение состоит в том, чтобы либо передать ссылку на функцию в setTImeout, либо определить setTimeout в глобальной области, например this .
В качестве примечания: функция get()
возвращает фактический объект DOM.То, что вы, вероятно, ищете, это eq()
, но обратите внимание, что эквалайзер основан на 1.