jQuery, IE и неверный аргумент - PullRequest
0 голосов
/ 28 июля 2010

РЕДАКТИРОВАТЬ:

OP здесь.Ну, проблема в архиве jQuery.JS.Я только что скачал последнюю, без сжатия, и ошибка изменилась на строку 4619, символ 4.

Я перешел на эту строку и есть символ '}' LOL ... я упоминал, что ненавижу интернет-проводника?

Понятия не имею, как это исправить, похоже, это ошибка в рамках: S


/ EDIT

Ну, привет!-Ненавижу интернет-обозреватель: D-

Я сделал слайд с помощью jQuery для анимации небольшой галереи изображений.

http://www.imagina.com.uy/bentancorleborgne/?page_id=2

Прекрасно работает на Firefox, Safari и IE8.

Однако в IE7 и предыдущих версиях это выдает ошибку.Появляется сообщение:

Ошибка сценария.

Строка: 20

Символ: 31759

Ошибка: неверный аргумент

URL: http-: //www-.imagina.com.uy/bentancorleborgne/? Page_id = 2

У меня есть пара скриптов, работающих на этой странице, но, так как ошибка появляется, когда я пытаюсь скользитьГалерея, я думаю, ошибка исходит из этого кода:

// JavaScript Document
$(document).ready(function() {
 var tablaWidth = parseFloat($('.imagenesWrapper table').css('width'), 10);
 var tdWidth = parseFloat($('.imagenesWrapper table tr td').css('width'), 10) + parseFloat($('.imagenesWrapper table tr td').css('margin-right'), 10);
 var cantCeldas = tablaWidth / tdWidth - 1;
 var posActual = 0;
 var leftCSS = 1;

 if(cantCeldas==1) {
     $('#leftArrow').hide();
     $('#rightArrow').hide();
 }else {
     $('#rightArrow').show();
 }

 $('#rightArrow').click(function() {
     if(leftCSS < tablaWidth) {
         posActual += 1;
         /* LINE 20 OF THE CODE ********************************************/ 
         leftCSS = moverTabla(posActual, cantCeldas, tdWidth); //moverTabla function (moveTable in english) returns the leftCSS value because it's needed on this function for the 'if'
     }
 });
 $('#leftArrow').click(function() {
     if(posActual > 0) {
         posActual -= 1;
         leftCSS = moverTabla(posActual, cantCeldas, tdWidth);
     }
 });

});

function moverTabla(pos, cantidad, tdWidth) {
 var leftCSS = pos * tdWidth;
 $('.imagenesWrapper table').animate( {left: '-' + leftCSS +'px'}, 'slow');
 mostrarOcultarFlechas(pos, cantidad);
 return leftCSS;
}

function mostrarOcultarFlechas(pos, cantidad) {
 //mostrar-ocultar flecha izquierda
 if(pos==0)
     $('#leftArrow').hide();
 else if($('#leftArrow').css('display') == 'none')
     $('#leftArrow').show();
 //mostrar-ocultar flecha derecha
 if(pos==cantidad)
     $('#rightArrow').hide();
 else if($('#rightArrow').css('display') == 'none')
     $('#rightArrow').show();
}

Я понятия не имею, что происходит.Будет ли кто-нибудь достаточно любезен, чтобы предоставить некоторую помощь или подсказку?

Заранее большое спасибо

Ответы [ 2 ]

0 голосов
/ 29 июля 2010

ОП здесь. Ну, проблема в архиве jQuery. Я только что скачал последний, без сжатия, и строка изменилась с 20 на 4619 символов 4.

Я пошел на эту строку, и там есть символ '}' LOL ... я упоминал, что ненавижу интернет-проводника?

0 голосов
/ 28 июля 2010

Я вижу, что вы вычисляете несколько значений, чтобы получить значение leftCSS.Это всегда целое число?IE7 может быть не в восторге, если вы пытаетесь анимировать его, используя анимацию с использованием десятичной дроби, то есть animate({left: 4.3102918px}).Просто мысль.Рассмотрим округление.

...