为了账号安全,请及时绑定邮箱和手机立即绑定

为什么bindEvent方法中不能调用lightOn方法呢?还望老铁们赐教

为什么bindEvent方法中不能调用lightOn方法呢?还望老铁们赐教

慕标1076333 2017-10-11 10:56:04
function LightStar(num){       this.num=num;       this.init() }LightStar.prototype={       init:function(){           this.lightOn();           this.bindEvent()       },    bindEvent:function(){        var that=this;        $("#a").on('mouseover','li',function(){          //这里的方法为什么不行呢???要在上面怎么修改才能调用的到呢            that.lightOn($(this).index()+1);          //控制台输出的为underfined            console.log(that.lightOn(2))        }).on('mouseout','li',function(){            that.lightOn(num);        }).on('click','li',function(){            that.num=$(this).index()+1        })    },       lightOn:function(num){           var that=this;           $("#a li").each(function(i,item){               if(i<that.num){                   $(this).css('background-position','0 -32px')               }else{                   $(this).css('background-position','0 0')               }            });       },};  new LightStar(2)
查看完整描述

1 回答

已采纳
?
拖鞋_

TA贡献453条经验 获得超223个赞

你把that删掉试试

查看完整回答
1 反对 回复 2017-10-11
  • 慕标1076333
    慕标1076333
    是的 可以了 我把lightOn方法里面的形参num 错加了个that 谢谢!
  • 1 回答
  • 0 关注
  • 1063 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信