我正在做一个项目,我想画一条角线,在线的末端我必须放一个角字符。但我不想使用画布,因为要求用户可以通过单击它来选择任何这些行。这可能无法通过 canvas 实现。给我一些建议。
实际上我想绘制下面的图像,也可以选择其中的一条或多条线。
我正在做一个项目,我想画一条角线,在线的末端我必须放一个角字符。但我不想使用画布,因为要求用户可以通过单击它来选择任何这些行。这可能无法通过 canvas 实现。给我一些建议。
实际上我想绘制下面的图像,也可以选择其中的一条或多条线。
试试csstransform
属性:http ://www.w3schools.com/cssref/css3_pr_transform.asp
这在画布上很容易实现,但我建议为此使用 SVG。你可以在这里找到一个非常好的 SVG 库http://raphaeljs.com/,或者你也可以使用一个画布库http://kineticjs.com/。
要使用画布自己完成此操作,您只需在一个事件中跟踪画布上的鼠标坐标,mousemove event
然后click
计算鼠标相对于您的线条的位置,如果鼠标点击在您的线条内,您有一个点击在线上。
在不提供任何代码或到目前为止您尝试过的任何东西的情况下,我无法详细说明,因为这是一个非常广泛和通用的问题,与任何一件事都没有真正的联系。
我会建议你使用jCanvas库。它将允许您将每一行作为单独的层进行操作,您还可以非常轻松地将鼠标和触摸事件附加到这些层。它非常容易学习和理解,因为它基于 jQuery,并且语法几乎与 jQuery 相似。
看看动画 CSS3 功能:http ://www.w3schools.com/css3/css3_animations.asp
<!DOCTYPE html>
<html>
<head>
<style>
div
{
width:100px;
height:100px;
background:red;
position:relative;
animation-name:mymove;
animation-duration:5s;
/* Safari and Chrome */
-webkit-animation-name:mymove;
-webkit-animation-duration:5s;
}
@keyframes mymove
{
from {transform: rotate(0deg);}
to {transform: rotate(-90deg); }
}
@-webkit-keyframes mymove /* Safari and Chrome */
{
from {-webkit-transform: rotate(0deg);}
to {-webkit-transform: rotate(-90deg); }
}
</style>
</head>
<body>
<p><strong>Note:</strong> The animation-name property is not supported in Internet Explorer 9 and earlier versions.</p>
<div></div>
<p><b>Note:</b> Always specify the animation-duration property. Otherwise the duration is 0, and the animation will not be played.</p>
</body>
</html>