为什么start = parseInt(spans[this.index].style.top);是undefined?


<div class="bottom clearfix" id="bottom">
                <div class="one" id="div1">
                    <img src="../images/smallpic.png">
                    <span class="span" id="sp1">
                        <strong class="s1">家装监理</strong>
                        <em class="s2">4大验收阶段 78项验收标准全程把关</em>
                    </span>
                </div>
                <div class="two" id="div2">
                    <img src="../images/smallpic.png">
                    <span class="span" id="sp2">
                        <strong class="s1">家装监理</strong>
                        <em class="s2">4大验收阶段 78项验收标准全程把关</em>
                    </span>
                </div>
<div>


var bottom = document.getElementById("bottom");
var divs = bottom.getElementsByTagName("div");
var spans = bottom.getElementsByTagName("span");
var speed =-10;
var start =260;
var timer ;
var timerout;
for (var i = 0; i < divs.length; i++) {
        divs.index = i;
        divs[i].onmouseout = function(){
            timerout = setInterval(function(){
                start = parseInt(spans[this.index].style.top);
                console.log(start);
                start -=speed;
                spans[this.index].style.top = start+"px";
            },100);
        }
    };

this是动态绑定的...

不想动态绑定可以考虑用箭头函数

for (var i = 0; i < divs.length; i++) {
    divs[i].index = i;
    // divs[i].onmouseout = function () {
    //     timerout = setInterval(function () {
    //         start = parseInt(spans[this.index].style.top);
    //         console.log(start);
    //         start -= speed;
    //         spans[this.index].style.top = start + "px";
    //     }, 100);
    // }
    divs[i].onmouseout = function () {
        timerout = setInterval(() => {
            start = parseInt(spans[this.index].style.top);
            console.log(start);
            start -= speed;
            spans[this.index].style.top = start + "px";
        }, 100);
    }
}

转码之后类似这样

divs[i].onmouseout = function () {
    var _this = this;

    timerout = setInterval(function () {
        start = parseInt(spans[_this.index].style.top);
        console.log(start);
        start -= speed;
        spans[_this.index].style.top = start + "px";
    }, 100);
};



相关阅读:
vue单页面能调到新的页面吗?
HTML 5输入框只能输入汉字、字母、数字、标点符号?正则如何写?
koa+mysql ,插入数据库数据成功,但是无法将数据返回给前台
laravel自带的users表不能被修改吗?
一般在公司开发的话,框架用的多还是原生的PHP+MYSQL用的多呢??
webpack配置react.js问题npm ERR!
如何形象地解释 “结构化数据” 与 “半结构化数据” 的区别
uicollectionviewcell自适应问题
如何看待window.x和var x的区别
如何控制页面所有滚动条随着一个滚动条一起动
Laravel sql 排序
vue.js,我想把自定义组件里面的函数写到methods里面,但不成功
vue activate and deactivate
ajax请求异常问题
if...else if..else第三句不执行?
一个简单的react-router报错,无从着手
数组使用join拼接失败,求看一下
Hive向表里导入数据是不是会在HDFS上生成新文件及多个副本?
为什么有时候把代码压缩之后应用就不能正常运行了?
如何阻止h5body的滑动



快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 志愿者服务队队员保证书 吹球过碗 读[匆匆]有感作文400字 2016五一劳动节社区活动总结 小学五年级作文1000字:保护环境畅想曲 勿沉湎于过去,珍惜眼前,做好手中的事 雨中的祝福 2015优秀教师党员思想汇报 红尘陌路,往日如花花若梦 中英文职位对照 将归江南留别友人 塞尔历险记①第一章 水火草三至尊 谁又正在上演那一幕幕 心之无痕№7作文1000字 2011年林业财务工作计划要点 公司工资调整方案 生如夏花,守护生命 地下通道里的欢笑声 农信社内审工作现状透视及应对措施探略 学校工会女工工作总结 读我们爱科学丛书有感作文300字 会变声的鸭子400字 新兵欢送会接兵领导讲话 遇见了|她 钟表不转,流年不止 描写坚持的句子 功只怕一曝十寒 鹰之歌高尔基读后感 幼儿教育《学校教育意义》 令人激动的时刻 紫藤花开的日子 真的错了作文900字 国庆节日记:国庆赏花 乡村教师_关于描写老师的作文400字 若我离开 后会无期 手写的你我ta之醉酒作文600字 我心中的中小名人——淦显云 2014年终新警察工作心得体会 说服爸爸戒烟作文300字 小学五年级作文450字:和事佬 我该怎么继续下去,现在真的狠累…每天都麻木了,不知道生活... 微笑1200字 正确的对待后退 小学五年级作文500字:神七飞天 此间我看不见你 材料学院车工实习感言 财务出纳现金收支工作总结范文 有感,传递正能量 三连冠作文700字 阿玲要退学2作文600字 林场09年工作计划

Copyright © 2016 phpStudy |