首先定义了一个全局函数Locating,又在Locating内定义了一个局部函数pageScroll,然后我全局函数调用pageScroll时,报错Uncaught ReferenceError: pageScroll is not defined。
function Locating(locate,time){
console.log(locate+' -- '+time);
var div_locate=document.getElementById(locate);
var window_top_y = document.body.scrollTop;//获取滚动条顶部距离页面顶部的距离
var element_top_y = div_locate.offsetTop;//获取某元素顶部距离页面顶部的距离
var distance = window_top_y-element_top_y;//当前窗口与顶部的距离
var time = time;
var move_distance = time>50?Math.ceil((distance/Math.ceil(time/50))):distance;//每次移动的距离
//每次移动的位移应为distance/duration,要移动的位置为element_top_y,
function pageScroll() {
var top = document.body.scrollTop;//获取滚动条顶部距离页面顶部的距离
var dis_top = top - element_top_y;
window.scrollBy(0,-move_distance);
scrolldelay=setTimeout('pageScroll()',50);
if(dis_top<=0){
clearTimeout(scrolldelay);
}
// console.log(dis_top);
}
pageScroll();
}
请问除了将pageScroll定义为全局的函数,各位前辈还有哪些其他解决方法可以借鉴学习一下的