0

何らかの理由で、私のJqueryスクリプトはIE7では機能しません。ただし、他のすべてのブラウザでは機能します。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);
});
});
4

1 に答える 1

3

ご想像のとおり、問題は、古いIEで混乱する末尾のコンマがいくつかあることです。問題のある行は

marginLeft: '0',

right: '0',

...それぞれ2回。

これは、JavaScriptコードの末尾のコンマを見つけるクイックWeb検索で見つけたサイトです。うまくいくようです。

http://trailingcomma.com/

于 2013-02-18T15:59:17.690 に答える