我在我的一个网站上使用了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>
也;这里是该网站的链接:www.didson.nl
我希望有人可以帮助我,提前谢谢!
答案 0 :(得分:1)
编辑:试试这个新的Fiddle。 我修复了setTimeout调用以关闭。 (实际上,你根本不需要设置超时)
此致
问题与风格有关。它是用class&#34; .jPanelMenu-panel&#34;设置div。到&#34;位置:相对;&#34;这导致了一些问题。
在这个Fiddle中,您可以看到如何通过将位置设置为绝对来解决问题。转换看起来很可怕,当然,但我还是让你这么做。
您的版本的HTML:
<div class="jPanelMenu-panel" style="position: relative; left: 0px;">
我添加了一行:
$(".jPanelMenu-panel").css('position', 'absolute');
希望它有所帮助!