我正在使用在这里找到的平滑滚动插件nicescroll
我遇到的第一个问题是它将自己设置为“静态 html 高度”。这对我不起作用,因为我的文档正在加载窗口加载项目。所以我添加了一个我发现的脚本:
$(window).load(function () {
function getDocHeight() {
var D = document;
return Math.max(
Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
Math.max(D.body.clientHeight, D.documentElement.clientHeight)
);
}
$('html').height(getDocHeight());
即使在加载了所有动态项目后,此脚本也允许更改 HTML 高度,所以现在我的平滑滚动又可以工作了。
但现在我面临另一个问题,因为我在单击按钮时加载项目,从而再次更改文档。这次我上面的脚本不起作用,所以我把函数放在点击事件中:
$(".button").live("click", function(){
function getDocHeight() {
var D = document;
return Math.max(
Math.max(D.body.scrollHeight, D.documentElement.scrollHeight),
Math.max(D.body.offsetHeight, D.documentElement.offsetHeight),
Math.max(D.body.clientHeight, D.documentElement.clientHeight)
);
}
$('html').height(getDocHeight());
});
这似乎对我不起作用。那么如何在单击事件后获取和设置(更改)文档高度?