摘要: 做项目的时候需要实现一个翻页按钮的效果,如下图:一开始想到用图片热区做,可是后来发现热区做有问题,有一个按钮不能点击,调了层级顺序后可以点击,但是另外一个按钮又不能点击,于是决定模拟一个三角形热区的功能。首先:判断鼠标坐标是否在三角形内有很多种方法,比较简单的是面积法,即把一个大三角形(T)按照鼠标当前的点连接三个顶点,分成三份(A、B、C),然后三个小三角形面积相加等于原来那个大三角形的面积,得出公式:T = A + B + C。但是JS有误差,所以用 Math.abs(A + B + C - T) < 0.0001 减小误差。如何求三角形面积呢?1. 首先要求得三条边的边长a, b, 阅读全文
posted @ 2012-08-23 22:51 baiezone 阅读(1752) 评论(4) 推荐(1) 编辑
摘要: <script>//1.X轴坐标之差的平方加上Y轴坐标之差的平方,然后对平方和开根号就是这两点间的距离//2.求出三角形的三边长a,b,c后,令p = (a+b+c)/2//3.再套入以下公式就可以求出三角形的面积S :S = sqrt(p*(p-a)*(p-b)*(p-c))方法alert(triangle(0, 0, 0, 10, 10, 10));function triangle(x1, y1, x2, y2, x3, y3){ var a = dist(x1, y1, x2, y2); var b = dist(x2, y2, x3, y3); var c = dist( 阅读全文
posted @ 2012-08-23 18:07 baiezone 阅读(153) 评论(0) 推荐(0) 编辑
摘要: X轴坐标之差的平方加上Y轴坐标之差的平方,然后对平方和开根号就是这两点间的距离window.onload = function () { var x1 = 0; var y1 = 0; var x2 = 10; var y2 = 10; alert(dist(x1, y1, x2, y2));};function dist(x1, y1, x2, y2){ return Math.sqrt((x1 - x2) * (x1 - x2) + (y1 - y2) * (y1 - y2)); } 阅读全文
posted @ 2012-08-23 18:00 baiezone 阅读(135) 评论(0) 推荐(0) 编辑