为什么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 交通频道 作文范文 农业局上半年工作述职 化妆品公司创业计划书 学会理解收获幸福 2016年大学生文秘社会实践报告 与老五相聚中原 学生交友自我介绍 爱到痴迷,却不能说我爱你 现代诗——那树有感 《银色大地的传说》读书笔记 相逢在青春作文1100字 风筝的季节 下一站,继续 上海挂职培训之精彩案例《小花猫照镜子》 全新面貌迎世博作文350字 恨石有错 浓雾250字 开县南门行记作文550字 闲着时候 乱写的 詹姆斯与大仙桃续编700字 那一刻,我很羞愧 大学生学生会手语协会工作计划_学生会工作计划 老屋门前的月光作文 不知的结局 男生个性签名唯美 一只老虎的自白 出井之蛙 2015少先队工作计划-范文 冲出亚马逊观后感1000字 落樱作文100字 摩尔庄园里的我(二) 年度残疾人联合会工作总结和工作安排 “两学一做”贵在“八个坚持” 我的好老师演讲稿 如何表白成功率高 《唯一的听众》读后感500字 小学教学专题工作汇报 灿烂“绿花”,向阳怒放 你走之后 所有人都像你 给澍澍姐姐的一封信 乡镇科普工作情况 退休的鞋子作文450字 算不算诗 用成语语重心长造句 名师出高徒 圣诞发给销售人员的短信 南乡子秦观赏析 摸鱼儿(为遗蜕山中桃花作,寄冯云月) 看立体电影《飞屋奇遇记》后感 欢乐的六·一联欢会——牟一頔 三年级日记100字:学会钓鱼

Copyright © 2016 phpStudy |