问答详情
源自:4-2 基于用户行为预测的切换技术

关于获取x,y坐标的问题

http://img.mukewang.com/5926b1a800010d7706090600.jpg

function sameSign(a, b){
 return(a ^ b) >=0
}
//位运算,判断符号是否相同a异或b
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,currMoussePos) {
 var offset = elem.offset()
 //offset方法来获取二级菜单上下边缘的坐标
 var topleft = {
  x: offset.left,
  y: offset.top 
 }
 var bottomleft = {
  x: offset.left,
  y: offset.top + elem.height()
 }
 return isPointInTrangle(currMoussePos,leftCorner,topleft,bottomleft)
}


提问者:weibo_阿飞去捉小蝴蝶_0 2017-05-25 18:29

个回答

  • 慕容初晨
    2018-01-18 11:01:33

    我和你一样的错,你看看是不是这里弄错位置了http://img1.mukewang.com/5a600e07000142c707680839.jpg

  • Soledad01
    2017-05-26 11:38:05

    你这个应该是变量的问题吧,,传入vector函数的a,b都是对象,你这样不知道哪里传入的,但肯定不是的,你仔细看看视频