溢出-X:隐藏休息平滑滚动
问题描述:
我使用下面的JavaScript/jQuery的脚本来创建平滑锚点滚动溢出-X:隐藏休息平滑滚动
$(function() {
$('a.page-scroll').bind('click', function(event) {
event.preventDefault();
var $anchor = $(this);
console.log($anchor)
$('html,body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1500, 'easeInOutExpo');
});
});
,除非以下是包含在我的CSS样式表伟大的工程
html,body {
/*Irrelevant style rules*/
overflow-x: hidden;
}
这是怎么发生的?当我删除或注释掉overflow-x:hidden时,脚本完美地工作。如果我离开它,它根本不起作用。
答
读this work around的第一部分告诉我,你不能有一个隐藏的溢出和另一个可见。我添加了一些JS来更改动画事件的html,body css。哈克,但它的作品!
$(function() {
$('a.page-scroll').bind('click', function(event) {
event.preventDefault();
var $anchor = $(this);
$('html,body').css(
"overflow-x", "visible"
);
$('html,body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 1500, 'easeInOutExpo');
$('html,body').css(
"overflow-x", "hidden"
);
});
});
+0
这必须是迄今为止我所见过的最奇怪的错误。但它解决了这个问题,谢谢。 – 2016-12-07 11:48:35
我只删除x轴滚动条,这应该不会干扰y轴滚动吗? – jkarimi 2014-09-18 22:49:21
http://jsbin.com/vifexa/2/edit适合我。 – 2014-09-18 22:53:05