虾仁A 2021-10-11 09:45 采纳率: 78.8%
浏览 58
已结题

筋斗云案例为什么筋斗云没反应

<script>

    window.onload = function () {
        //需求:鼠标放到哪个li上面,span就移动到那个上面。移开,回到原来的位置。点击的话,固定到点击的位置。
        //步骤:
        //1.老三步。
        //2.鼠标放到那个li,移动到上面。
        //3.鼠标移开,回到原来位置。
        //4.点击的话,固定到点击的位置。

        //1.老三步。
        var span = document.getElementsByTagName("span")[0];
        var liArr = document.getElementsByTagName("li");
        //计数器思想
        var current = 0;
        for(var i=0;i<liArr.length;i++){
            //2.鼠标放到那个li,移动到上面。
            liArr[i].onmouseover = function () {
                animate(span,this.offsetLeft);
            }
            //3.鼠标移开,回到原来位置。
            liArr[i].onmouseout = function () {
                //鼠标移开,移动到之前记录好的位置。(初始值为0)
                animate(span,current);
            }
            //4.点击的话,固定到点击的位置。
            liArr[i].onclick = function () {
                //点击li之后,把li距离ul左侧的距离记录给current.
                current = this.offsetLeft;
                animate(span,this.offsetLeft);
            }
        }
    }
    //缓动框架
    function animate(obj,target){
        //要用定时器,先清定时器(定时器最好绑定在要移动的盒子上)
        clearInterval(obj.timer);
        obj.timer = setInterval(function(){
            //3.缓动公式
            //获取步长
            var step = (target-obj.offsetLeft)/10;
            //处理步长,让他<0下取整,>0向上取整。这样,我们能够取到-1和1.
            step = step>0?Math.ceil(step):Math.floor(step);
            obj.style.left = obj.offsetLeft+step+"px";
            //运动到指定位置
            if(target==obj.offsetLeft){
                clearInterval(obj.timer);
            }
        },14)
    }

</script>
<div class="box">
    <span></span>
    <ul>
        <li>首页新闻</li>
        <li>师资力量</li>
        <li>活动策划</li>
        <li>企业文化</li>
        <li>招聘信息</li>
        <li>公司简介</li>
        <li>xx校区</li>
        <li>xx校区</li>
    </ul>
</div>
  • 写回答

3条回答 默认 最新

  • 神仙别闹 2021-10-11 09:57
    关注
    <!--改变span 的浮动属性-->
    <span style="position:fixed"></span>
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 10月27日
  • 已采纳回答 10月19日
  • 创建了问题 10月11日

悬赏问题

  • ¥15 想问一下树莓派接上显示屏后出现如图所示画面,是什么问题导致的
  • ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
  • ¥15 cmd cl 0x000007b
  • ¥20 BAPI_PR_CHANGE how to add account assignment information for service line
  • ¥500 火焰左右视图、视差(基于双目相机)
  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号