jQuery代码无法在IE8上运行。它适用于IE9和10

时间:2014-01-29 14:11:51

标签: javascript jquery internet-explorer-8

以下是IE控制台的一些错误:

  

无法获取未定义或空引用的属性“转换”

     

对象不支持属性或方法'延迟'

$(function () {
    $('.bubbleInfo').each(function () {

        var distance = 0;
        var time = 250;
        var hideDelay = 10;
        var hideDelayTimer = null;
        var beingShown = false;
        var shown = false;
        var trigger = $('.trigger', this);
        var info = $('.popup', this).css('opacity', 0);

        $([trigger.get(0), info.get(0)]).mouseover(function () {

            if (hideDelayTimer)
                clearTimeout(hideDelayTimer);

            if (beingShown || shown) {
                // don't trigger the animation again
                return;
            } else {
                // reset position of info box
                beingShown = true;

                info.css({
                    display: 'block'
                }).animate({
                    opacity: 1
                }, time, 'swing', function() {
                    beingShown = false;
                    shown = true;
                });
            }
          return false;
        }).mouseout(function () {

            if (hideDelayTimer)
                clearTimeout(hideDelayTimer);

            hideDelayTimer = setTimeout(function () {
                hideDelayTimer = null;
                info.animate({
                    opacity: 0
                }, time, 'swing', function () {
                    shown = false;
                    info.css('display', 'none');
                });
            }, hideDelay);
            return false;
        });
    });
});

我真的不知道这有什么问题。我不是jQuery的专家。

1 个答案:

答案 0 :(得分:1)

您使用的是哪个版本的jQuery?

jQuery's Browser Support page表示jQuery 2.x适用于IE 9+,因此它自然无法在IE 8上正常运行,在这种情况下你必须使用jQuery 1.x。

如果您使用的是jQuery 1.x,那么还有其他问题......