【发布时间】:2016-04-05 20:06:30
【问题描述】:
我有一个只影响 Firefox 的奇怪问题。 在我的开发者website 中,我有这个 jQuery 代码:
jQuery('body').on('click', '.sidebar-toggle', function(e){
if (sidebarStatus == "OFF") {
jQuery('.panel-sidebar').animate({
marginLeft: "0px"
}, 400);
jQuery('.products-listing-contents').animate({
marginLeft: "200px",
width: '-=200px',
'padding-right' : 0
}, 400);
setTimeout(function(){
jQuery('.products-listing-contents').css("width","calc(100% - 200px)");
}, 420);
sidebarStatus = "ON";
}
else {
jQuery('.panel-sidebar').animate({
marginLeft: "-184px"
}, 400);
jQuery('.products-listing-contents').animate({
marginLeft: "15px",
width: '100%',
'padding-right' : "15px"
}, 400);
sidebarStatus = "OFF";
}
setCookie('sidebarStatus', sidebarStatus, 9999999);
});
它的基本作用是将左侧边栏向左右推,同时调整左侧显示的内容宽度。 它在 IE11 和 Chrome 中运行良好,但在 FF 中,只要我单击滑动切换,内容区域就会跳到底部并备份。
我一直在尝试调整数字,但这无济于事。任何帮助将不胜感激。谢谢。
【问题讨论】:
-
可能与 Firefox 的宽度动画问题有关。尝试使用最小宽度。你能举个 JSFiddle 的例子吗?
-
@Itamar - 更好的是,在我的帖子中有一个指向开发网站的直接链接 :)
标签: javascript jquery html css firefox