2009-11-11 1 views
2

Я потянув мои волосы над недопустимым аргументом в IE7, может быть, все в IE ...IE Недопустимый аргумент Ошибка - Говорит, что это ошибка в JQuery, но я не думаю, что так

Сайта : http://www.karencaldwelldesign.com/fashion

IE говорит, что это ошибка в строке 12, но если я открою скриптовый отладчик, он говорит, что проблема связана с некоторым кодом в jQuery. Я этого не покупаю.

Итак, я посмотрел на мой сценарий (http://www.caldwellsnyder.com/__data/assets/js_file/0003/5943/kc-gallery.js) и линии 65, как представляется, проблема:

data = '<div id="content'+id+'" class="content">'+data+'</div>'; 

данные возвращаются из JQuery $ .ajax() функции, но мне нужно, чтобы обернуть его дополнительный пронумерованный div.

В частности, это переменная id, вызванная неправильной ошибкой аргумента, но я понятия не имею, почему! Var - это просто число, которое увеличивается. Удаление var из этой строки позволяет загрузке страницы отлично, но мне действительно нужно увеличить идентификатор таким образом.

Кто-нибудь есть идеи, почему эта простая переменная будет причиной недопустимого аргумента в IE?

+0

'ID = ID + '';' это не смотрит право на увеличивающиеся ID – barkmadley

+0

К сожалению , это была лишь часть моего тестирования, которое я забыл удалить. Ошибка по-прежнему остается проблемой. –

+0

@Nic: в одной части вашего кода вы передаете 'data' в качестве параметра контекста в' $ ', а затем в другом вы объединяете его со строкой. Что точно хранит «данные»? –

ответ

2

Как-то вы в конечном итоге пытаетесь установить ширину -5px; IE не нравится. Это значение поступает из линии $this.css(cssToApply); в JScrollPane.js, который получает его из расчета переменной realPaneWidth:

var realPaneWidth = paneWidth - settings.scrollbarWidth - settings.scrollbarMargin - p; 

В том, что paneWidth и settings.scrollbarWidth оба равны 676 и settings.scrollbarMargin составляет 5, что дает вам -5 (p равно нулю).

В kc-gallery.js вы, кажется, инициализируете jScrollPane со значением 676 для scrollbarWidth в функции applyScroll. Это вызывается из функции setInterval, назначенной переменной check_images, и это возвращает нас полностью обратно в стек вызовов из того места, где IE действительно ошибки при установке width в -5px.

Так что это определенно связано с тем, как вы используете JScrollPane. Вы можете проверить документацию на какие-либо советы - я никогда не использовал этот плагин самостоятельно, поэтому, боюсь, я не могу с этим поделать. Однако значение scrollbarWidth 676 кажется немного чрезмерным ...according to the JScrollPane docs:

scrollbarWidth [INT] - ширина создаваемой полосы прокрутки в пикселях (по умолчанию 10)

+0

Вы правы, это определенно проблема здесь. Но мне действительно нужно, чтобы ширина полосы прокрутки была широкой, потому что я хотел бы превратить целое изображение в область прокрутки, поэтому нажатие нижней половины позволит вам прокрутить изображение вниз. –

+0

Если полоса прокрутки настолько широкая, для отображения изображения не останется места. Представьте, если вы установите полосу прокрутки окна браузера, чтобы занять всю ширину окна: вы не сможете увидеть содержимое, а просто чрезвычайно широкую полосу прокрутки, где должно быть содержимое. Тем не менее, если вы вычтите 'settings.scrollbarMargin' из значения, которое вы передаете как' scrollbarWidth', тогда вы избежите запуска IE-ошибки, так как вы установите значение «realPaneWidth» равным нулю. – NickFitz

+0

У меня была аналогичная проблема - я исправил ее, проверив, была ли новая ширина, которая была динамически установлена, на самом деле была числом: if (! IsNaN (emWidth)) {} –

0

Ошибка, которую вы видите, происходит из jQuery, когда вы пытаетесь установить атрибут DOM на недопустимое значение. Например, попробуйте установить z-index в NaN или строку. Ошибки IE в этом случае, когда firefox и другие браузеры просто игнорируют значение.

Вы можете увидеть пример этого, опуская следующую строку в консоль на этой странице в IE8 или с помощью Jash для более ранних версий: jQuery("#header").css("z-index", NaN);

Похоже, ваша переменная glob_index становится непредсказуемым, в какой-то момент, таким образом, ошибки jQuery при попытке установить для этого z-индекс узла DOM.

 Смежные вопросы

  • Нет связанных вопросов^_^