Первый шаг - действительно остановить повторный вызов doThis()
через setInterval
, чего в данный момент не происходит. Таким образом, предупреждение появляется каждые 500 мс.
Изменение
$(document).ready (function() {
var int = setInterval("doThis(i)",500);
});
до
$(document).ready (function() {
int = setInterval("doThis(i)",500);
});
В противном случае ваш вызов clearInterval(int)
ничего не сделает, как вы дважды объявили var int
, и попытайтесь очистить "external" int, который не является интервалом.
После этого исправления в консоли должно оставаться только 4-5 этого предупреждения.
Теперь к вашей ошибке. Вы не можете ничего сделать, чтобы эта ошибка не появлялась столько раз, сколько вы звоните doThis()
.
jQuery использует Sizzle внутри как механизм выбора. А в некоторых случаях Sizzle пытается использовать (в поддерживаемых браузерах) функцию querySelectorAll()
, чтобы найти элементы, соответствующие вашему селектору.
Теперь AFAIK hidden
не является допустимым селектором CSS, поэтому, хотя Firefox поддерживает вызов querySelectorAll()
, он корректно завершается ошибкой после обнаружения неизвестного селектора. jQuery ловит ошибку, а затем сам выбирает image:hidden
.
Если вы вообще не хотите видеть эту ошибку, вы можете использовать другой синтаксис jQuery, который в этом случае не позволит Sizzle попытаться использовать querySelectorAll()
.
Изменение
$('img:hidden').eq(0).fadeIn(500);
до
$('img:hidden', $('div#content_wrapper')).eq(0).fadeIn(500);
Но я не советую вам делать это, потому что на самом деле это не дает вам намного меньше только 4-5 предупреждений в вашей консоли.