我尝试使用jquery animate执行自动滚动页面。它非常简单 - 它将xml数据加载到单个DIV,然后使用此大小+一些像素数设置主体大小。我希望它自动滚动到底部。如果我使用此代码:
$(document).ready(function(){
var z=document.getElementById('main_container').clientHeight+2400;
speed=z*3
$('body,html').animate({
scrollTop: z,
easing: "linear"}, speed);
});
它正在发挥作用。但由于我想不止一次使用这个功能,我试过这个:
$(document).ready(pagescroll());
function pagescroll(){
var z=document.getElementById('main_container').clientHeight+2400;
speed=z*3
$('body,html').animate({
scrollTop: z,
easing: "linear"}, speed);
});
我完成了。它不会起作用。我尝试将它放在网站的不同部分(头部,正文,$ document.ready和功能本身的更改顺序),但它不会有帮助。我还尝试通过向body元素添加onload来运行此函数。为什么我不能使用它来让这个东西变成vork。
答案 0 :(得分:0)
您不需要pagescroll()
,只需要pagescroll
。它应该工作。
$(document).ready(pagescroll);
function pagescroll(){
var z=document.getElementById('main_container').clientHeight+2400;
speed=z*3
$('body,html').animate({
scrollTop: z,
easing: "linear"}, speed);
});
答案 1 :(得分:0)
如果将括号放在函数名后面,它会立即调用它,而不是将函数作为参数传递。它应该是:
$(document).ready(pagescroll);
答案 2 :(得分:0)
动画功能的表示法也有错误。你必须这样写:
$(document).ready(pagescroll);
function pagescroll(){
var z=document.getElementById('main_container').clientHeight + 2400,
speed = z * 3;
// this is one way to write animate():
$('body,html').animate({scrollTop: z}, speed, "linear");
// this is another way to write animate(), choose one of it
$('body,html').animate(
{scrollTop: z},
{ easing: "linear", duration: speed}
);
};