jQuery在Internet Explorer中无法正常运行

时间:2014-10-09 11:13:32

标签: javascript jquery html css internet-explorer

我确定我会为此失去分数,因为我无法提供问题的细节,但我无法弄清楚导致问题的部分......

http://thetally.efinancialnews.com/tallyassets/advisors/index.html

这是一个在chrome中工作正常的交互式图形。它包含一些变量,当您单击中间的不同按钮时会发生变化,还有一些动画函数会使用这些变量来调整外部银行的大小。

在查看了其他一些建议后,我添加了' px'对动画功能但没有任何影响。奇怪的是简单的翻转也使用了animate函数,但是使用变量的更高级的翻转并没有。

任何人都可以在jQuery中看到任何可以阻止它运行的东西吗?如果您需要更多信息,请告诉我们,谢谢

这是jQuery:

$(document).ready(function() {

    var title = 0;

    $(".bank").mousemove(function(e) {
        $(this).find('.tooltip').css('left', e.pageX + 10).css('top', e.pageY + 10).css('display', 'block');
    });

    $(".bank").mouseout(function() {
        $(this).find('.tooltip').css('display', 'none');
    });

    var resize = function() {

        $('.bank').each(function() {
            bankName = $(this).attr('class').split(' ')[1];

            var bankSize = window[bankName] * 15;
            var bankNameMargin = bankSize / 2 - bankSize;

            $('.banks .' + bankName).animate({
                width: bankSize + 'px',
                height: bankSize + 'px',
                marginLeft: bankNameMargin + 'px',
                marginTop: bankNameMargin + 'px'
            }, 300);

            if (bankSize == 0) {

                $('.banks .' + bankName).animate({
                    opacity: '0',
                    width: '70px',
                    height: '70px',
                    marginLeft: '-35px',
                    marginTop: '-35px'
                }, 300, "linear", function() {
                    $(this).css({
                        "opacity": "1",
                        "width": "0px",
                        "height": "0px",
                        "marginLeft": "0px",
                        "marginTop": "0px"
                    });
                });
            }

        });

    }

    resize();

    $(".bank").mouseenter(function() {
        $(this).animate({
            width: '+=10',
            height: '+=10',
            marginLeft: '-=5',
            marginTop: '-=5'
        }, 200);
    });

    $(".bank").mouseleave(function() {
        $(this).animate({
            width: '-=10',
            height: '-=10',
            marginLeft: '+=5',
            marginTop: '+=5'
        }, 200);
    });

    $(".button1").click(function() {
        title = 1;
    });

    $(".button2").click(function() {
        title = 2;
    });

    $(".button3").click(function() {
        title = 3;
    });

    $(".reset").click(function() {
        $(".active").removeClass("active");
        $('.banks .bank').animate({
            width: '70px',
            height: '70px',
            marginLeft: '-35px',
            marginTop: '-35px'
        }, 300, "linear");
        title = 0;
    });

    $(".button").click(function(e) {
        $(".active").removeClass("active");
        $(".tooltip p").remove();
        $(".choose").remove();
        $(this).addClass("active");
        console.log(title);
        if (title == 1) {

            $('.barclays .tooltip').append("<p>Deals: 3</p><p>Percentage: 30%</p>");

            barclays = 4;
            hsbc = 2;
            morgan = 4;
            citi = 2;
            baml = 4;
            jpmorgan = 2;
            goldman = 7;
            ubs = 3;
            suisse = 2;
            deutsche = 3;
            jefferies = 2;
            nomura = 1;
            bnp = 1;
            numis = 0;
        } else if (title == 2) {
            barclays = 5;
            hsbc = 3;
            morgan = 3;
            citi = 2;
            baml = 2;
            jpmorgan = 9;
            goldman = 5;
            ubs = 4;
            suisse = 4;
            deutsche = 5;
            jefferies = 1;
            nomura = 0;
            bnp = 1;
            numis = 3;
        } else if (title == 3) {
            barclays = 0;
            hsbc = 0;
            morgan = 5;
            citi = 2;
            baml = 2;
            jpmorgan = 7;
            goldman = 2;
            ubs = 5;
            suisse = 2;
            deutsche = 4;
            jefferies = 2;
            nomura = 5;
            bnp = 2;
            numis = 0;
        }

        resize();

    });

});

1 个答案:

答案 0 :(得分:0)

删除console.log。

IE有问题,如果调试器未处于活动状态(开发人员工具面板打开),它将导致它中断。

您可以使用新功能替换console.log。我喜欢Paul Irish解决方案:

http://www.paulirish.com/2009/log-a-lightweight-wrapper-for-consolelog/