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

标签 jquery

我正在开发一个网站,该网站有一些使用 jQuery 实现的动画。所有这些都很好,我现在已经完成了网站这一部分的工作。但不知何故,我的菜单使用 pageslide plugin已停止按应有的方式工作。动画仍然有效,但菜单不是从左侧滑入以显示其整个宽度,而是以两倍的宽度滑入。所有浏览器和设备上都会发生这种情况,而且昨天绝对不会发生。

我将在本文末尾发布有问题的代码,但实际上我认为这与我拥有的任何代码都没有任何关系。我在构建时一直使用版本控制,这个错误已经出现在所有版本上,本地和远程。所以一个远程站点,自从它工作以来我就没有接触过,现在却不再工作了。

这对我来说表明网站中的某个文件不是问题。但是,我只有 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.0 的各个版本的 jQuery,但我没有包括 1.6 和 1.7 之间的微版本。测试 1.6.1 等是我所缺少的,当然也是问题所在。任何其他遇到同样问题的人都应该检查所有子版本。

关于jQuery bug 突然出现在所有版本的网站上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16771510/

相关文章:

jquery - 如何检查 HTML 元素的当前字体

javascript - 属性等于选择器在 Safari 5.1.7 中无法识别

php - 单击时将数量添加到背景位置(jQuery)

javascript - 随着游戏的进行,游戏循环出现滞后

javascript - 拖动放置在 Canvas 中的缩放图像

javascript - (包括 JSFIDDLE)sweet alert js - 按钮交换(确认按钮在左边,取消按钮在右边)

javascript - 动态添加行到日期数组

javascript - fancybox 的回调

javascript - 为了不杀死 javascript 中的事件处理程序,有什么方法?

javascript - php 没有将详细信息从 ajax 保存到 db