Hao-Z-Y 2018-11-06 03:27 采纳率: 0%
浏览 686
已采纳

第一次写定时器,没什么效果

html结构如图


<div class="row ">
                            <div class="col-lg-1-8 step-middle">
                                <img src="IMG/product-img24.png">
                                <p class="pro-step">需求分析</p>
                                <p class="pro-con"><span class="pro-dot"></span>需求调研</p>
                                <p class="pro-con"><span class="pro-dot"></span>项目流程图</p>
                                <p class="pro-con"><span class="pro-dot"></span>项目结构图</p>
                                <p class="pro-con"><span class="pro-dot"></span>项目需求表</p>
                            </div>
                            <div class="col-lg-1-8 step-middle">
                                <img src="IMG/product-img24.png">
                                <p class="pro-step">产品设计</p>
                                <p class="pro-con"><span class="pro-dot"></span>项目原型图</p>
                                <p class="pro-con"><span class="pro-dot"></span>产品设计文档</p>
                                <p class="pro-con"><span class="pro-dot"></span>产品交互设计</p>
                                <p class="pro-con"><span class="pro-dot"></span>数据库字典</p>
                                <p class="pro-con"><span class="pro-dot"></span>时间规划表</p>
                            </div>
                            <div class="col-lg-1-8 step-middle">
                                <img src="IMG/product-img24.png">
                                <p class="pro-step"><span></span>界面设计</p>
                                <p class="pro-con"><span class="pro-dot"></span>界面效果图</p>
                                <p class="pro-con"><span class="pro-dot"></span>界面设计规范</p>
                            </div>
                            <div class="col-lg-1-8 step-middle">
                                <img src="IMG/product-img24.png">
                                <p class="pro-step">前端开发</p>
                                <p class="pro-con"><span class="pro-dot"></span>静态页面编写</p>
                                <p class="pro-con"><span class="pro-dot"></span>页面效果开发</p>
                                <p class="pro-con"><span class="pro-dot"></span>网站性能优化</p>
                                <p class="pro-con"><span class="pro-dot"></span>网站维护</p>
                            </div>
                            <div class="col-lg-1-8 step-middle">
                                <img src="IMG/product-img24.png">
                                <p class="pro-step">页面测试</p>
                                <p class="pro-con"><span class="pro-dot"></span>设计效果图测试</p>
                                <p class="pro-con"><span class="pro-dot"></span>静态页面测试</p>
                                <p class="pro-con"><span class="pro-dot"></span>部分功能组件测试</p>
                            </div>
                            <div class="col-lg-1-8 step-middle">
                                <img src="IMG/product-img24.png">
                                <p class="pro-step">程序编码</p>
                                <p class="pro-con"><span class="pro-dot"></span>开发文档</p>
                                <p class="pro-con"><span class="pro-dot"></span>开发源码</p>
                                <p class="pro-con"><span class="pro-dot"></span>试用版本</p>
                            </div>
                            <div class="col-lg-1-8 step-middle">
                                <img src="IMG/product-img24.png">
                                <p class="pro-step">软件测试</p>
                                <p class="pro-con"><span class="pro-dot"></span>修复记录</p>
                                <p class="pro-con"><span class="pro-dot"></span>测试报告</p>
                            </div>
                            <div class="col-lg-1-8 step-middle">
                                <img src="IMG/product-img24.png">
                                <p class="pro-step">打包发布</p>
                                <p class="pro-con"><span class="pro-dot"></span>打包发布</p>
                            </div>
                        </div>

js

 $(function() {

    //声明变量
    var step_middle = document.getElementsByClassName(".step-middle");
    var play;
    var index = 0;
    var i = 0;
    var j = 0;

    //显示方法
    function show(j) {
        for (i = 0; i < step_middle.length; i++) {
            //选中状态
            $(step_middle[j]).find("img").attr("src", "IMG/product-img15.png");
            //未选中状态
            $(step_middle[j]).siblings().find("img").attr("src", "IMG/product-img24.png");
        }
    }

    //鼠标移入显示方法
    for (i = 0; i < step_middle.length; i++) {
        step_middle[i].index = i;
        step_middle[i].onmouseover = function() {
            index = this.index;
            show(this.index);
        }
    }

    //定时器
    function lunbo() {
        play = setInterval(function() {
            index++;
            if (index > step_middle.length) index = 0;
            show(index);
        }, 3000);
    }

    //调用轮播
    lunbo();

    //鼠标移入清除定时器
    step_middle.onmouseover = function() {
        clearInterval(play);
    }

    //鼠标移入添加定时器
    step_middle.onmouseout = function() {
        clearInterval(play);
        lunbo();
    }
})
  • 写回答

2条回答 默认 最新

  • 天际的海浪 2018-11-06 07:42
    关注

    第一,getElementsByClassName方法class前面不加(.)点,不明白明明用了jquery为什么还要用原生的
    var step_middle = document.getElementsByClassName("step-middle");

    第二,显示方法用了siblings()就不需要用for循环了

    function show(j) {
           //选中状态
                $(step_middle[j]).find("img").attr("src", "IMG/product-img15.png");
                //未选中状态
                $(step_middle[j]).siblings().find("img").attr("src", "IMG/product-img24.png");
        }
    

    第三,这里应该是 >=
    if (index >= step_middle.length) index = 0;

    第四,step_middle是数组,你不能为数组绑定onmouseover、onmouseout事件。要在for循环中绑定

        for (i = 0; i < step_middle.length; i++) {
            step_middle[i].index = i;
            step_middle[i].onmouseover = function() {
                index = this.index;
                clearInterval(play);
                show(this.index);
            }
            step_middle[i].onmouseout = function() {
                clearInterval(play);
                lunbo();
            }
        }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥15 绘制多分类任务的roc曲线时只画出了一类的roc,其它的auc显示为nan
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?