jPanelMenu在IE中无法正常工作(所有版本)

Maa*_*ink 7 javascript css jquery internet-explorer jpanelmenu

我正在我的一个网站上使用jPanelMenu jQuery插件.我注意到IE(所有版本)都存在问题.

当菜单被触发时,它会按预期滑入.单击菜单项后,页面将滚动到所需的部分并再次关闭.当菜单关闭时,网站的右侧会产生不必要的保证金.再次打开菜单时,它的大小只有一半,并再次缩小内容的间隙.

这是一个小提琴:http: //jsfiddle.net/huzLU/1/

三个屏幕截图显示了IE中的问题:

这是我用于菜单的代码:

<script>
$(document).on('touchend',jP.panel,function(e){
e.preventDefault();
if ( jP.menuIsOpen() ) jP.closeMenu(jP.options.animated);
});

$(document).on('click',jP.panel,function(e){
e.preventDefault();
if ( jP.menuIsOpen() ) jP.closeMenu(jP.options.animated);
});
</script>

<script>
$(document).ready(function(){
var jPM = $.jPanelMenu({
closeOnContentClick: false
});
jPM.on();

$('a[href^="#"]').on('click',function (e) {
e.preventDefault();

var target = this.hash,
$target = $(target);

$('html, body').stop().animate({
'scrollTop': $target.offset().top-50
}, 900, 'swing', function () {
window.location.hash = target;
});
setTimeout(function() {
jPM.close(true);
}, 900, 'swing');
});

});
</script>
Run Code Online (Sandbox Code Playgroud)

也; 这是该网站的链接:www.didson.nl

我希望有人可以帮助我,提前谢谢!

Hig*_*ige 1

编辑:尝试这个新的Fiddle。我修复了 setTimeout 调用以关闭。(实际上,你根本不需要设置超时)

问候

该问题与样式有关。它将类“.jPanelMenu-panel”的 div 设置为“position:relative;” 这导致了一些问题。

在此小提琴中,您可以看到如何通过将位置设置为绝对来解决问题。当然,这种转变看起来很糟糕,但我把这交给你了。

您的版本的 HTML:

<div class="jPanelMenu-panel" style="position: relative; left: 0px;">
Run Code Online (Sandbox Code Playgroud)

我添加的行:

    $(".jPanelMenu-panel").css('position', 'absolute');
Run Code Online (Sandbox Code Playgroud)

希望能帮助到你!