【发布时间】:2010-07-28 19:36:52
【问题描述】:
编辑:
在这里。好吧,问题出在 jQuery.JS 档案中。我刚刚下载了最后一个,解压后,错误变成了第4619行第4字符。
我去了那条线,那里有一个“}”符号哈哈……我有没有提到我讨厌 Internet Explorer?
我不知道如何解决这个问题,这似乎是框架内的一个错误:S
/编辑
你好! -我讨厌 Internet Explorer :D-
我用 jQuery 制作了一个幻灯片来为一个小图片库制作动画。
http://www.imagina.com.uy/bentancorleborgne/?page_id=2
在 Firefox、Safari 和 IE8 上运行良好。
但是在 IE7 和之前的版本中会报错。弹出一条消息说:
脚本错误。
行:20
字符:31759
错误:参数无效
网址: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();
}
我不知道发生了什么。有人能提供一些帮助或线索吗?
提前非常感谢
【问题讨论】:
-
你确定这段代码是错误的吗? IE 给您的错误消息似乎与此代码无关。
-
我只在 IE7 中收到此错误。也许是时候将 jQuery 更新到最新版本了。
-
鉴于在线位置,我怀疑传递给 jQuery 的某些内容是无效的。换成非最小化的版本调试(看看它在哪一行和相关代码:)
-
我可能错了,但是
parseFloat($('.imagenesWrapper table').css('width'), 10);, parseFloat 接受字符串,最后的 ", 10" 可能比parseFloat($('.imagenesWrapper table').css('width')).toFixed(10);更好? -
最后的 10 指定 parseFloat 我想要的数字是十进制的。我在“learn jquery 1.3”一书中读过它=/错误似乎在 jquery 文件中
标签: jquery internet-explorer invalid-argument