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

关于最后一节的问题

function sameSign(a,b){

return (a ^ b)>=0;

}



function vector(a,b) {

return{

x:b.x-a.x,

y:b.y-a.y

}

}


function vectorProduct(v1,v2) {

return v1.x * v2.y-v2.x * v1.y;

}


function isPointInTrangle(p,a,b,c){

var pa=vector(p,a);

var pb=vector(p,b);

var pc=vector(p,c);


var t1=vectorProduct(pa,pb);

var t2=vectorProduct(pb,pc);

var t3=vectorProduct(pc,pa);


return sameSign(t1,t2)&&sameSign(t2,t3);

}


function needDelay(elem,leftCorner,currMousePos){

var offset=elem.offset();


var topLeft={

x:offset.left,

y:offset.top

}


var bottomLeft={

x:offset.left,

y:offset.top+elem.height()

}


return isPointInTrangle(currMousePos,leftCorner,topLeft,bottomLeft);

}

我运行时候一直显示

function vector(a,b) {

return{

x:b.x-a.x,

y:b.y-a.y

}

}

这个里面的x不能是undefined的属性?

正在回答

4 回答

我也遇到了这个问题,然后回头再看一遍,找出了两个问题:

  1. #test 的第一个mouseenter方法下的第二行代码为:$(document).bind('mousemove',moveHanlder);开始写的unbind

  2. 第二个就是我下面多谢了一个timer = setTimeout(function(){......}

0 回复 有任何疑惑可以回复我~

我也是遇到同样的问题,x是undefined,,请问这是怎么回事

0 回复 有任何疑惑可以回复我~

function vector(a,b){

return{

   x: b.x - a.x;

y: b.y - a.y

}

}

为什么总是报错

0 回复 有任何疑惑可以回复我~
#1

慕田峪354622

return 时的对象的属性之间用,隔开 不用;
2017-05-24 回复 有任何疑惑可以回复我~

方法本身没有问题,可能是你传的p,a,b,c对应的实参currMousePos,leftCorner,topLeft,bottomLeft坐标有问题,可以打印出来瞅瞅。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于最后一节的问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信