シンプルなスライディングギャラリーをjQueryでコーディングしました。これは、 .animate()を介して' left 'プロパティを変更する、幅の広いテーブルを内部に持つ狭いコンテナです。
Firefox、Safari、IE8で美しく動作します。ただし、InternetExplorer7以下で問題が発生しています。
'スクリプトエラーを示すメッセージエラーがポップアップ表示されます。行:4619。文字:4。エラー:引数が無効です。url:http ://www.imagina.com.uy/bentancorleborgne/?page_id=2
その行は、jQuery.jsファイル内にのみ含めることができます。6k行以上のファイルはこれだけなので。
だから私は疑問に思っています。一体何が起こっているのか!
エラーは、矢印を押してギャラリーをアニメーション化した場合にのみポップアップします。ですから、そこから手がかりが得られる場合に備えて、スクリプトのコードは残しておきます。
どんな助けや手がかりも大いに感謝されるでしょう。前もって感謝します!!
$(document).ready(function() {
var tablaWidth = parseFloat($('.imagenesWrapper table').width());
var tdWidth = parseFloat( $('.imagenesWrapper table tr td').outerWidth() ) + parseFloat( $('.imagenesWrapper table tr td').css('marginRight') );
var cantCeldas = tablaWidth / tdWidth - 1;
var posActual = 0;
var leftCSS = 1;
if(cantCeldas==0) {
$('#leftArrow').hide();
$('#rightArrow').hide();
}
else
$('#rightArrow').show();
$('#rightArrow').click(function() {
if(leftCSS < tablaWidth) {
posActual += 1;
leftCSS = moverTabla(posActual, cantCeldas, tdWidth);
}
});
$('#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();
}