0

編集:

OPはこちら。さて、問題は jQuery.JS アーカイブにあります。最後の 1 つを非圧縮でダウンロードしたところ、エラーが 4619 行目の文字 4 に変わりました。

私はその行に行き、「}」記号があります LOL ... 私は Internet Explorer が嫌いだと言いましたか?

これを修正する方法がわかりません。フレームワーク内のバグのようです:S


/編集

こんにちは!-インターネットエクスプローラーが嫌いです: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();
}

何が起こっているのかわかりません。誰か助けや手がかりを提供してくれるほど親切でしょうか?

事前にどうもありがとう

4

2 に答える 2

0

leftCSS 値を取得するためにいくつかの値を計算しているようです。それは常に整数ですか?10 進数 ie を使用して animate を実行してアニメーション化しようとしている場合、IE7 は満足できない可能性がありますanimate({left: 4.3102918px})。ちょっとした考え。丸めを検討してください。

于 2010-07-28T19:42:56.620 に答える
0

OPはこちら。さて、問題は jQuery アーカイブにあります。最後の 1 つを非圧縮でダウンロードしたところ、行が 20 文字から 4619 文字 4 に変更されました。

私はその行に行き、「}」記号があります LOL ... 私は Internet Explorer が嫌いだと言いましたか?

于 2010-07-28T22:27:09.993 に答える