我正在开发一个使用 jQuery 实现一些动画的网站。所有这些都很好,我现在已经完成了网站的那部分工作。不过,不知何故,我使用pageslide 插件的菜单已经停止工作。动画仍然有效,但菜单不是从左侧滑入以显示其整个宽度,而是以两倍的宽度滑入。这发生在所有浏览器和设备上,而且绝对不是昨天发生的。
我将在本文末尾发布有问题的代码,但实际上我认为这与我拥有的任何代码无关。我在构建时一直在使用版本控制,这个错误出现在所有版本上,本地和远程。所以一个远程站点,我自从它工作以来就没有碰过它现在不是。
这向我表明,作为站点一部分的文件之一不是问题。但是,我只有 2 个链接到该站点的外部文件。第一个是modernizr,禁用没有区别;第二个是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;
});
}
非常感谢您的帮助。