08 2012 档案

摘要:做项目的时候需要实现一个翻页按钮的效果,如下图:一开始想到用图片热区做,可是后来发现热区做有问题,有一个按钮不能点击,调了层级顺序后可以点击,但是另外一个按钮又不能点击,于是决定模拟一个三角形热区的功能。首先:判断鼠标坐标是否在三角形内有很多种方法,比较简单的是面积法,即把一个大三角形(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 阅读(1791) 评论(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 阅读(175) 评论(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 阅读(149) 评论(0) 推荐(0)
摘要:function selectText(){ if(document.selection) { return document.selection.createRange().text; } else { return window.getSelection().toString(); }}IE浏览器下用document.selection.createRange().text返回选中文字。FF等标准浏览器下用window.getSelection()返回一个对象,再用toString方法返回选中文字。用途:分享选中文字、文本编辑器等。 阅读全文
posted @ 2012-08-18 13:15 baiezone 阅读(327) 评论(0) 推荐(0)
摘要:1. 从1开始 至 任意值parseInt(Math.random()*上限+1); 2. 从任意值开始 至 任意值parseInt(Math.random()*(上限-下限+1)+下限); <script>window.onload = function () { //调用随机数函数 alert(randomBy(99, 288));};//封装随机数函数functionrandomBy(under, over){ switch(arguments.length){ case 1:returnparseInt(Math.random()*under+1); case 2:retu 阅读全文
posted @ 2012-08-15 10:35 baiezone 阅读(612) 评论(0) 推荐(0)
摘要:在用sucks倒计时插件做项目是,发现在IETester IE6、7、8模式下报错查看第82行再用IE9自带的IE7兼容模式查看,实则是第81行报错。无法获取属性__max的值,对象为null或未定义,也就是说digits为空。找到第39行在这句上面加alert无法弹出,也就是说无法进入这里。找到上面33行的if判断此处options.startTime在设置的时候为字符串而这里却用了循环数组的方法去循环字符串,所以IE6、7、8下会报错,但IE9已经支持此方法,所以在IE9下不会报错。解决办法:用charAt方法循环字符串查找options.startTime[i]将其替换成options. 阅读全文
posted @ 2012-08-14 13:42 baiezone 阅读(1008) 评论(0) 推荐(1)
摘要:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=utf- 阅读全文
posted @ 2012-08-06 20:10 baiezone 阅读(662) 评论(0) 推荐(0)
摘要:在用HTML5的Video标签做播放器时,需要增加快捷键功能,却发现在Chrome下当按下键盘按键无法触发onkeydown事件,翻阅网上的资料有一种办法可以解决,在DIV上加入tabindex属性即可。示例:<!DOCTYPE HTML><html><head><title>HTML5 Video</title><script>window.onload = function () { var oDiv = document.getElementsByClassName('player')[0]; oDi 阅读全文
posted @ 2012-08-04 13:18 baiezone 阅读(818) 评论(0) 推荐(0)
摘要:<script>window.onload = function () { var str = ''; var list = CreateWeekDate('2012-05-01'); for(var i = 0; i < 7; i++) { str += list.date[i] + ' ' + list.week[i] + '\n'; } alert(str);};function CreateWeekDate(date){ var now = date ? new Date(toDate(date)) : 阅读全文
posted @ 2012-08-03 22:26 baiezone 阅读(209) 评论(0) 推荐(0)
摘要:Date toLocaleFormat 参数说明 var today= new Date();alert(today.toDateString());alert(today.toLocaleString());alert(today.toLocaleDateString());alert(today.toLocaleFormat("%m/%d/%Y"));Date toLocaleFormat 参数:%m/%d/%Y 示例alert(new Date().toLoacleFormat('%Y-%m-%d')); 阅读全文
posted @ 2012-08-03 17:41 baiezone 阅读(796) 评论(0) 推荐(0)
摘要:function showDate(date) { var now = date ? new Date(date) : new Date(); var start = date ? new Date(date) : new Date(); var end = date ? new Date(date) : new Date(); var n = now.getDay(); var result = {}; start.setDate(now.getDate() - n + 1); end.setDate(now.getDate() - n + 7); start = start.getFu.. 阅读全文
posted @ 2012-08-03 00:18 baiezone 阅读(460) 评论(0) 推荐(0)