一、是源代码可以复制粘贴直接看效果,点击每个导航栏目,body的背景颜色都将是导航条的背景颜色,会出现滑动的效果。

二、这个实现的关键是,如何让背景,回到body中,这个target值如何设置。,在每次的背景变化中,注意背景在整个documeng文档中什么是不变的。缓动动画的原理都知道是 var leader=leader+(target-leader)/10;


屏幕滑动效果图

<!DOCTYPE html>

<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
    <style>
        ul,ol {
            list-style-type: none;
        }
        * {margin:0;padding:0;}
        html,body {
            width: 100%;
            height: 100%;
        }
        #ul {
            width: 100%;
            height: 100%;
        }
        ul li{
            width: 100%;
            height: 100%;
        }
        #ol {
            position: fixed;
            top:0;
            left:50px;
        }
        #ol li {
            width: 50px;
            height: 50px;
            border: 1px solid #000;
        }
    </style>
    <script src="my.js" type="text/javascript"></script>
    <script>
        window.onload = function() {
            var ulBox = $("ul");
            var ulBoxLi = ulBox.children;
            var olBox = $("ol");
            var olBoxLi = olBox.children;
            var bgColor = ["pink","purple","orange","blue","green"];
            var leader = 0,target = 0,timer = null;
            for(var i= 0; i<ulBoxLi.length; i++)
            {
                ulBoxLi[i].style.backgroundColor = bgColor[i];
                olBoxLi[i].style.backgroundColor = bgColor[i];
                olBoxLi[i].index = i;  // 记录当前的索引号
                olBoxLi[i].onclick = function() {
                        clearInterval(timer);
                        target = ulBoxLi[this.index].offsetTop; // 核心语句
                        timer = setInterval(function() {
                            leader = leader + (target - leader ) /10;
                            window.scrollTo(0,leader); // 屏幕滑动
                            //pic.style.left = leader  + 'px';
                        },30)
                }
            }
        }
    </script>
</head>
<body>
<ul id="ul">
    <li>首页</li>
    <li>关注</li>
    <li>动态</li>
    <li>风格</li>
    <li>作品</li>
</ul>
<ol id="ol">
    <li>首页</li>
    <li>关注</li>
    <li>动态</li>
    <li>风格</li>
    <li>作品</li>
</ol>
</body>
</html>
<script type="text/javascript">
var ulBox=$("ul");
var ulBoxli=ulBox.children;
var olBox=$("ol");
var olBoxli=olBox.chilren;
var leader=0,target=0,time=null;
var bgColor[i]=["pink","purple","orange","blue","green"];
for(var i=0;i<ulBox.length;i++){
      ulBox[i].style.backgroundColor=bgColor[i];
      olBox[i].onclick=function(){
      ulBoxli.style.top=
      }
}
</script>
<!--<script>
var ulBox=$("ul");
var ulBoxli=ulBox.children;
var olBox=$("ol");
var olBoxli=olBox.chilren;
var leader=0,target=0,time=null;
var bgColor[i]=["pink","purple","orange","blue","green"];
for(var i=0;i<ulBoxli.length;i++){
var olBoxli[i].styel.backgroundcolor=bgColor[i];
var ulBoxli[i]=ulBoxli[i];
var olBoxli[i].index=i;
}
olBoxli[i].onmousedown=function(event){
var ulBoxliTop=event.clientY-this.offsetTop;

}
</script>-->

相关文章: