2013-02-18 109 views
0

由於某種原因,我的Jquery腳本在IE7上不起作用。但它在所有其他瀏覽器中都能正常工作。我曾經在某處看過IE7對逗號等很挑剔,但我無法弄清楚我在這裏做錯了什麼。任何線索?爲什麼JS/Jquery在IE7中似乎不起作用

$(document).ready(function() { 
var isiPad = navigator.userAgent.toLowerCase().indexOf("ipad"); 

var paddingLeft = ($(window).width() - 820)/2; 
var paddingRight = ($(window).width() - 820)/2; 

if(/Android|webOS|iPhone|iPad|iPod|BlackBerry/i.test(navigator.userAgent)) 
{ 
    $(window).resize(function() 
    { 
     paddingLeft = ($(window).width() - 820)/2; 
     $('.block_bouw').css('padding-left', paddingLeft); 

     paddingRight = ($(window).width() - 820)/2; 
     $('.block_industrie').css('padding-right', paddingRight); 
    }); 

    $('.block_bouw').css('padding-left', paddingLeft); 
    $('.block_bouw').delay(0).animate({ 
      marginLeft: '0', 
     }, 0, function() { 

    }); 
    $('.block_bouw').click(function(){ 
     window.location = 'bouw'; 
    }); 

    $('.block_industrie').css('padding-right', paddingRight); 
    $('.block_industrie').delay(0).animate({ 
      right: '0', 
     }, 0, function(){ 

    }); 
    $('.block_industrie').click(function(){ 
     window.location = 'industrie'; 
    }); 
} 

else { 
    $(window).resize(function() 
    { 
     paddingLeft = ($(window).width() - 820)/2; 
     $('.block_bouw').css('padding-left', paddingLeft); 

     paddingRight = ($(window).width() - 820)/2; 
     $('.block_industrie').css('padding-right', paddingRight); 
    }); 

    $('.block_bouw').css('padding-left', paddingLeft); 
    $('.block_bouw').delay(500).animate({ 
      marginLeft: '0', 
     }, 2000, function() { 

    }); 
    $('.block_bouw').click(function(){ 
     window.location = 'bouw'; 
    }); 

    $('.block_industrie').css('padding-right', paddingRight); 
    $('.block_industrie').delay(500).animate({ 
      right: '0', 
     }, 2000, function(){ 

    }); 
    $('.block_industrie').click(function(){ 
     window.location = 'industrie'; 
    }); 
} 

$(".product.module .item").css("margin-right","27px"); 
$(".product.module .item:nth-child(3n)").css("margin-right", "0px"); 

$(".project.module .item").css("margin-left","26px"); 
$(".project.module .item:nth-child(3n)").css("margin-left", "0px"); 


$('.popout', this).hide(); 

$('.pin').hover(function(){ 
    //var h = $('.popout', this).outerHeight() * -1; 
    var id = (this.id); 
    $('.popout').css("margin-top", ($('.popout',this).outerHeight()*-1)+14); 
    $('.popout', this).show(100); 
    $('.option' + "#" + id).addClass('hover'); 
},function(){ 
    $('.popout', this).hide(100); 
    $('.option').removeClass('hover'); 
}); 

$('.option').hover(function(){ 
    var idoption = (this.id); 
    $('.popout').css("margin-top", ($('.popout' + "#" + idoption).outerHeight()*-1)+14); 
    $('.popout' + "#" + idoption).stop().show(100); 
},function(){ 
    $('.popout').hide(100); 
}); 
}); 
+2

您在JavaScript控制檯中看到了哪些錯誤? – jrummell 2013-02-18 15:51:35

+0

是否有錯誤?不正確的行爲...? – 2013-02-18 15:51:48

+1

你爲什麼瀏覽器檢測? – 2013-02-18 15:52:43

回答

3

正如你懷疑的那樣,問題是你在這裏有一些尾隨的逗號在舊IE瀏覽器中搞砸了。違規的線條

marginLeft: '0', 

right: '0', 

...各兩次。

這裏是我通過快速網頁搜索找到的一個網站,它可以在JavaScript代碼中查找尾隨逗號。它似乎工作。

http://trailingcomma.com/

+0

謝謝,它工作! – 2013-02-18 16:00:35