写了个等位插件,点击nav中的LI,位移(与href有视觉效果)到达相应板块(这里的类比li中的类中多了个H字母)的位置
<li class= "wz"></li>
<section class = "wzH"></section>
function scrol(elementID){ //进行bodyMover函数封装
var click = document.querySelector(elementID); //获取点击class
var goal = document.querySelector(elementID+'H'); //获取关联的class,这里我们加个H
//console.log(goal.offsetTop);
var goalOffsrtTop = goal.offsetTop; /*目标函数距离顶部的距离*/
//console.log(goalOffsrtTop);
/*判断目标函数距离顶部的距离与网站的滚动条是否相同*/
if(document.body.scrollTop == goalOffsrtTop || document.documentElement.scrollTop == goalOffsrtTop){
return true; //等于停止
}
if(document.body.scrollTop < goalOffsrtTop || document.documentElement.scrollTop < goalOffsrtTop){
document.body.scrollTop += 10;
document.documentElement.scrollTop += 10;
}
if(document.body.scrollTop > goalOffsrtTop || document.documentElement.scrollTop > goalOffsrtTop){
return true; //在来个大于也停止 ,为什么大于也可以应为有的时候你加10 永远都不可能等于,因为有个位数
}
movement = setTimeout("scrol('"+elementID+"')", 10);//传递参数,非数字布尔变量传递需要引号括起,"+value+"为传递变量如果没有++就是传递字符串了,两个加号之间的变量可以解析,由于elementID是字符串,必须要要变为引号括起
}