就是一个很简单的框选功能而已,原生js写的。
效果图:
代码:
<!DOCTYPE html>
<html>
<body>
<canvas id="myCanvas" width="1000" height="800" style="border:1px solid #d3d3d3;">
Your browser does not support the HTML5 canvas tag.
</canvas>
<br>
<span>local</span>
<p id="local"></p>
<span>down</span>
<p id="down"></p>
<span>up</span>
<p id="up"></p>
<script>
var c = document.getElementById("myCanvas");
var ctx = c.getContext("2d");
c.addEventListener('mousemove', move, false)
c.addEventListener('mousedown', down, false)
c.addEventListener('mouseup', up, false)
var ax = 0,
ay = 0,
mx = 0,
my = 0,
bx = 0,
by = 0,
width = 0,
height = 0,
paint = false;
function move(e) {
document.getElementById("local").innerHTML = e.pageY + ',' + e.pageX
mx = e.pageX;
my = e.pageY;
paintReact()
}
function down(e) {
document.getElementById("down").innerHTML = e.pageY + ',' + e.pageX
ax = e.pageX;
ay = e.pageY;
paint = true
}
function up(e) {
document.getElementById("up").innerHTML = e.pageY + ',' + e.pageX
bx = e.pageX;
by = e.pageY;
paint = false
}
function paintReact() {
ctx.clearRect(0, 0, 1000, 800)
width = mx - ax
height = my - ay
console.log(width, height);
if (paint) {
ctx.strokeRect(ax, ay, width, height)
}
}
</script>
</body>
</html>