就是一个单纯的逻辑判断问题,小demo两边鼠标移入判断有问题
因为实在不知道如何设置第二个判断条件,所以才来此提问。下面给出示例代码,
[示例代码][https://jsfiddle.net/bpn1h5wk/1/]
**说明图片:**
目前的问题就是,只能从一边移入,因为判断条件冲突了,具体可以看jsfiddle上的示例代码.
就是一个单纯的逻辑判断问题,小demo两边鼠标移入判断有问题
因为实在不知道如何设置第二个判断条件,所以才来此提问。下面给出示例代码,
[示例代码][https://jsfiddle.net/bpn1h5wk/1/]
**说明图片:**
目前的问题就是,只能从一边移入,因为判断条件冲突了,具体可以看jsfiddle上的示例代码.
ct.addEventListener('mousemove',function(e){
let ex = e.offsetX,
ey = e.offsetY;
if(ey > line.y && ey < (line.y + line.long)){ // 只允许在直线的高度内执行
let moveY = ey - (line.y + line.long/2); // y从(long/2) 中心点开始偏移计算
let moveX = 0; // x 随着鼠标的移入位置 而改变
moveX = (ex-line.x)
//其实更本不用判断
line.moveX = moveX;
line.moveY = moveY;
}
})
看了一下你的代码,并不需要判断
这里
if(ex < (line.x)){ //重点就是这个判断条件 , 左右两边不知道如何设置 触发的判断条件
moveX = ex - line.x; // 相对 原始x 的位置 偏移
}
直接写成 moveX = ex - line.x;
就可以了
13 回答12.9k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
2 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
只需要判断入场和移动的方向是否一致即可
改了你的demo
https://jsfiddle.net/bpn1h5wk/3/