jQuery bug突然出现在所有版本的网站上

时间:2013-05-27 10:50:06

标签: jquery

我正在开发一个使用jQuery实现一些动画的网站。所有这些都很好,我现在已经完成了网站的这一部分。但不知怎的,我使用pageslide plugin的菜单已停止工作。动画仍然可以工作,但是不是从左边滑动菜单来显示它的整个宽度,它的宽度是它的两倍。这种情况发生在所有浏览器和设备上,并且昨天肯定没有发生。

我将在本文末尾发布有问题的代码,但实际上我认为这与我拥有的任何代码无关。我在构建时一直在使用版本控制,这个bug出现在所有版本上,本地和远程。因此,一个远程站点,我现在没有触及它,现在不是。

这对我来说,它不是网站中某个文件的问题。但是,我只有2个链接到该站点的外部文件。第一个是现代化,而禁用则没有区别;第二个是jQuery。我已经尝试将jQuery的版本更改为从1.10到2.0的所有内容,仍然没有任何乐趣。

我现在有点想法了。

以下是控制菜单打开的pageslide.js:

// Function that controls opening of the pageslide
function _start( direction, speed ) {
    var slideWidth = $pageslide.outerWidth( true ),
        bodyAnimateIn = {},
        slideAnimateIn = {};

    // If the slide is open or opening, just ignore the call
    if( $pageslide.is(':visible') || _sliding ) return;         
    _sliding = true;

    switch( direction ) {
        case 'left':
            $pageslide.css({ left: 'auto', right: '-' + slideWidth + 'px' });
            bodyAnimateIn['margin-left'] = '-=' + slideWidth;
            slideAnimateIn['right'] = '+=' + slideWidth;
            break;
        default:
            $pageslide.css({ left: '-' + slideWidth + 'px', right: 'auto' });
            bodyAnimateIn['margin-left'] = '+=' + slideWidth;
            slideAnimateIn['left'] = '+=' + slideWidth;
            break;
    }

    // Animate the slide, and attach this slide's settings to the element
    $body.animate(bodyAnimateIn, speed);
    $pageslide.show()
              .animate(slideAnimateIn, speed, function() {
                  _sliding = false;
              });
}

非常感谢您的帮助。

1 个答案:

答案 0 :(得分:2)

我已经解决了这个问题,虽然,正如我所说,我经历了从1.0到2.0的各种版本的jQuery,但我没有在1.6和2.0之间包含微版本。例如1.7。测试1.6.1等是我所缺少的,当然是问题所在。任何有相同问题的人都应检查所有子发行版。