Jan 15

年会聚餐, 或者平时团队拿到少量门票要分配, 这时就是考验大家人品的时候. 如果每次都要制作签条来抽, 那就太Out了. IT人士抽奖抓阄就得用高科技手段. 本软件基于浏览器, 真正地比Java还跨平台, 无需注册, 完全免费, 开放源码, 老少皆宜! 是teamleader, 活动组织者必备武器!

抽奖流程

等待开始
开场(open): 奖项介绍
奖项循环: 如果多于一个奖项, 则循环
	奖项开场(step_open)
	摇奖循环: 如果不是一次开完一个奖项, 则循环
		摇奖开始(rotate_start)
		摇奖结束(rotate_stop)
	奖项结束(step_close): 单项中奖名单
闭场(close)

软件主页

链接: http://www.ideawu.net/person/lottery/

Written by ideawu at 2010-01-15 11:02:01 | tags:

Jan 12

TableView, PagerView是我开发的两个JavaScript控件, 使用方便, 代码简单. 现在, 重新组织了文档, 并用jsdoc工具生成了API文档.

链接: http://www.ideawu.net/person/two-column-selector/

Written by ideawu at 2010-01-12 10:46:40 | tags:

Nov 04

JavaScript两级联动, 比如表单里面有两个下拉菜单,实现关联,根据第一个下拉菜单选择的内容,在第二个下拉菜单中显示对应的选项. 这项功能非常有用, 但新手仍会需要示例.

将下列代码保存到一个后缀为.html的文本文件, 然后用浏览器打开即可:

Continue reading »

Written by ideawu at 2009-11-04 16:40:15 | tags:

Sep 24

最近网上流行的炮轰”JavaScript征途”事件, 主要是对IT界不负责任的出书者, 以及出版社, 不要脸的推荐人的批评. 我自己之前就写过一篇日志:”某些死不正经的技术书籍作者” (http://www.ideawu.net/blog/?p=372).

计算机流行技术, 甚至包括很多计算机基础技术, 在中国大多靠自学, 学校很难学到. 既然自学, 书籍自然是最重要的学习资料了. 现在市面上很多流行的技术书, 粗制滥造, 对人没有多大帮助. 我从接触计算机书籍的第一天起, 就认准一个死理:”如果你想从垃圾堆中找点吃的, 那么你就买中国人写的计算机书籍吧.” 中国人写的计算机书籍垃圾太多了, 你不可能分辨出好的来. 而在一两年前, 市面上出售的从国外引进的经典书籍, 大多经过认真挑选, 几乎随顺买一本就能学到本事. 当然近来引进的国外垃圾书也有不少.

回到”JavaScript征途”这本书, 一个3年不到的时间写了二十多本书的人, 能写出什么好书. 但是, 写不出好书, 是作者能力问题, 而那些给垃圾书作序并写推荐的人, 是不想要自己的人品了!

所有学习编程或者其它计算机技术的人注意了:

如果你想从垃圾堆中找点吃的, 那么你就买中国人写的计算机书籍吧.

这句话当然会伤害一些认真作学问写书的人, 但环境太恶劣, 为了能学点东西, 不得不找好书比例多得多的市面上的外国书籍.

相关阅读:

Written by ideawu at 2009-09-24 14:15:43 | tags:

Jul 20

两栏选择功能经常用到, 就是有一栏显示可选的数据, 另一栏显示当前已选择的数据. 我包装成一个JavaScript控件, 方便使用. 使用时需要引入两个JavaScript文件, 因为使用了jQuery, 所以还需要引入jQuery的js库文件:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="TableView.js"></script>
<script type="text/javascript" src="SelectorView.js"></script>

在HTML文件中写上:

<div id="sel_div">
</div>

<script type="text/javascript">
<!--
var sel = new SelectorView('sel_div'); // sel_div 是 HTML 节点 id
sel.src.header = {
	'id'		: 'Id',
	'name'		: 'Name',
	'text'		: 'Text'
};
sel.dst.header = {
	'id'		: 'Id',
	'name'		: 'Name'
};
sel.src.dataKey = 'id';
sel.dst.dataKey = 'id';
sel.src.title = '可选';
sel.dst.title = '已选';
sel.render();

sel.src.add({id: 1, name: 'Tom', text: 'Tomcat'});
sel.src.add({id: 2, name: 'Jerry', text: 'Jerrimy'});
sel.src.add({id: 3, name: 'Jim', text: 'System Engineer'});
sel.src.add({id: 4, name: 'Lucy', text: 'Lucy & Lily'});
//-->
</script>

演示地址: http://www.ideawu.net/person/two-column-selector/two-column-selector.html

Written by ideawu at 2009-07-20 16:43:35 | tags:

Jan 26

暂时, 我还不知道在 Firefox 和 IE 浏览器上使用 "JavaScript 多线程" 的方法. 一些资料上说的 setTimeout 和 setTimeInterval 函数可以模拟多线程, 但事实并不是这样. 例如 setTimeout 函数, 如果你在异步执行的代码中进行阻塞, 那么整个页面也将阻塞(表现为页面无法操作, 链接无法点击等). 这说明, setTimeout 只不是在当前线程中插入要执行的代码而已, 并不像其它某些语言中的定时器.

所谓的并发, 微观上还是串行处理, 只不过对串行处理单元进行分解, 便成了另一层次上的并发. 如果可以, 应该对要处理的事务进行分解.

Written by ideawu at 2008-01-26 16:34:49 | tags: