2010-07-29 72 views
0

我用jQuery編寫了一個簡單的滑動庫。這是一個狹窄的容器,裏面有一張寬大的桌子,它通過.animate改變了'left'屬性()jQuery,IE,無效的參數

在Firefox,Safari和IE8上運行得非常漂亮。但是,我遇到了Internet Explorer 7及以下版本的問題。

彈出消息錯誤,提示'腳本錯誤。行:4619. char:4.錯誤:無效的參數。 url:http://www.imagina.com.uy/bentancorleborgne/?page_id=2

該行只能在jQuery.js文件中。因爲它是唯一具有6k +行的文件。

所以我想知道。這到底是怎麼回事!!

當我按下箭頭爲畫廊設置動畫時,只會彈出錯誤。所以我要離開腳本的代碼,以防萬一你能從那裏得到一些線索。

任何幫助或線索將被geatly appreaciated。提前致謝!!

$(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(); 
} 
+1

我可以證明我已經從未見過名爲'mostrarOcultarFlechas'的函數。 :D – 2010-07-29 19:55:15

+0

谷歌說這意味着「顯示隱藏左箭頭」http://translate.google.com/#auto|en|mostrar-ocultar%20flecha%20izquierda%0A – NotMe 2010-07-29 20:01:41

+0

哈哈xD是啊函數名稱和一些變量是西班牙語。如果您遇到困難,我可以翻譯代碼。讓我知道。 – sanchy 2010-07-29 20:10:33

回答

2

的問題是,對於$('.imagenesWrapper table tr td').css('marginRight')

IE7-回報auto所以parseFloat()回報NAN不是數字),其後的失敗..

檢查爲什麼..

+0

他是對的!嘗試明確地設置它,如果你可以,那會解決它! – 2010-07-29 20:38:20

+0

我愛你:D就是這樣。你是怎麼意識到的? – sanchy 2010-07-29 20:49:05

+0

ps:我剛剛在CSS處將邊距右移爲了填充。所以我不需要專門設置它,只需使用.outerWidth()。 – sanchy 2010-07-29 20:50:17