jQuery,IE和无效的参数

时间:2010-07-28 19:36:53

标签: jquery internet-explorer invalid-argument

编辑:

OP在这里。好吧,问题出在jQuery.JS档案中。我刚刚下载了最后一个,未压缩,错误更改为第4619行字符4。

我去了那条线,并且有一个'}'符号LOL ......我提到我讨厌网络浏览器吗?

我不知道如何解决这个问题,它似乎是框架中的一个错误:S


/ EDIT

嗨嗨! - 我讨厌网络浏览器:D -

我用jQuery制作了一张幻灯片来动画一个小图像galery。

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

在Firefox,Safari和IE8上精彩地工作。

然而,在IE7和之前的版本中,它给出了一个错误。弹出一条消息说:

脚本出错。

行:20

字符:31759

错误:参数无效

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

我在该页面上运行了几个脚本,但是当我尝试滑动galery时弹出错误,我猜这个错误来自于此代码:

// 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 :(得分:0)

我看到你正在计算一些值来获得leftCSS值。那总是一个整数吗?如果你试图通过使用小数animate({left: 4.3102918px})做动画来设置动画,IE7可能会不高兴。只是一个想法。考虑四舍五入。

答案 1 :(得分:0)

OP在这里。好吧,问题在于jQuery存档。我刚刚下载了最后一个,未压缩,并且行从20更改为4619字符4。

我去了那条线,并且有一个'}'符号LOL ......我提到我讨厌网络浏览器吗?