Posts tagged with "jQuery"
Friday, 7. December 2007, 10:07:34
jQuery, Plugin, JavaScript
想要以 jQuery 的方式取得列表中被选中项的文字,找来找去找不到现成的方法,只好现做一个:
(function($){
/**
* Get selected option's property
*/
$.fn.getSelectedProperty = function(property) {
var arrValue = Array();
var a=0;
this.each( function() {
for (var i=0; i < this.options.length; i++) {
if (this.options[i].selected == true) {
arrValue[a] = this.options[i][property];
a++;
}
}
});
if(arrValue.length > 1) {
return arrValue;
} else if(arrValue.length == 1) {
return arrValue[0];
}
return '';
};
})(jQuery);
以上函数,单选返回字符串,多选返回数组。
用法例:
alert($("#select_box_id").getSelectedProperty('text'));
Thursday, 6. December 2007, 10:12:06
JavaScript, upload, jQuery
为了实现 Ajax 方式的文件上传,在网上找到一个
AjaxFileUpload 的 jQuery 插件,能用,不过还是有一些不足,比如不能在文件上传的同时指定其他参数(hidden),还有一些不大不小的 Bug,于是修改了一下其代码。修改之后用法如下:
首先在 HTML 文件头部引入 jQuery 以及该插件:
<script type="text/javascript" src="jquery.pack.js"></script>
<script type="text/javascript" src="jquery.ajaxupload.js"></script>
然后写一个函数:
//*******************************************************
// Ajax文件上传
//*******************************************************
function uploadFile(fileId) {
$("#uploading").ajaxStart(function(){
$(this).show();
}).ajaxComplete(function(){
$(this).hide();
});
$.ajaxFileUpload({
url: 'upload.php',
secureuri: false,
fileElementId: fileId,
dataType: 'json',
success: function (data, status) {
alert("上传成功。\n" + e);
},
error: function (data, status, e) {
alert("发生错误!\n" + e);
},
extFields: {
user : 'guest',
comment : '好'
}
});
return false;
}
和原来相比,增加了 extFields 这个参数。
其中的 upload.php 就不在这儿贴代码了,如果不会写这个,就说不过去了。
最后是调用:
$("#upload_button").click(function () {
uploadFile("my_file");
});
效果马马虎虎,还算过得去。
下载:
jquery.ajaxupload.js
Sunday, 4. November 2007, 04:20:05
jQuery, 道德经, JavaScript, 老子
做了逐句自动播放的《
论语》,接着就想炮制自动播放的《
道德经》。
《
道德经》的结构和《
论语》有所不同,因此想做成不同风格的东西,可是总也找不到新的创意。不经意在
Opendesigns.org 上发现一款古朴的设计,忍不住就把他炮制成自动播放的《
道德经》了。
默认设置的时间间隔是8秒,也就是说,只需用时648秒,即可翻完九九八十一章《
道德经》,不到11分钟。
以下是截图:
Wednesday, 3. October 2007, 14:08:44
jQuery, 自己作品, 论语, JavaScript
做了《
唐诗三百首》之后,利用已实现的自动播放代码,顺便做了逐句播放的《
论语》。
网上《论语》的文字到处都有,我做这么一个东西,只是出于兴趣,为的是方便像我一样的懒人,读书不用翻页,不用点链接,甚至不需要滚屏。

网址:
http://staticlake.appspot.com/lunyu/index.html也可以用
这个地址访问。
特点:
- 默认自动翻页。每次显示一句。
- 可以调整播放的速度,通过滑块调整。
- 可以按顺序播放,也可以随机播放。
- 完全用 JavaScript 实现(借用了 jQuery 库),对应三大浏览器(IE, Firefox, Opera)。
有兴趣不妨看看,也欢迎您提供宝贵意见。
Tuesday, 25. September 2007, 07:51:48
唐诗三百首, jQuery, 创作, JavaScript
还是用 JavaScript 做的小东西,或许可以称之为“唐诗自动播放器”,目前仅实现一些基本的功能,还不是很完善,不过,用来欣赏一下唐诗,却也马马虎虎可以用了。
中文世界里,《唐诗三百首》是流传最广的书籍之一,网上很多地方都能找到。我只不过是想用一种不同的方式实现“动态书籍”,尽量方便阅读,同时,通过做这个小东西,还能掌握一些浏览器界面元素的操作技巧。

网址:
http://staticlake.appspot.com/tangshi/index.html如果在国外,也可以用
这个地址访问。
特点:
- 英汉对照,左边汉语,右边英文。
- 默认自动翻页。也可以手工翻页。
- 可以调整播放的速度,通过滑块调整。
- 可以按作者和标题查询诗作。
- 查询输入有自动补齐的效果。
- 点当前编号可激活输入框,输入数字就能显示指定编号的诗作。
- 完全用 JavaScript 实现(借用了 jQuery 库),对应三大浏览器(IE, Firefox, Opera)。
如果您对这个小东西感兴趣,欢迎提供宝贵意见。
Tuesday, 28. August 2007, 09:25:40
jQuery, 易经, 八卦, 创作
...
jQuery 是个让人着迷的 JavaScript 库,这些天一直在学这个东西。
用 jQuery 作了几个日历之后,接下来想做一个“算命”的东西,那就是《易经》。
经过几天的琢磨,做出这么一个“
易经六十四卦”的网页:
网址:
http://staticlake.appspot.com/iching/index.html如果在国外,也可以用
这个地址访问。
网页看上去五颜六色,不是很美观,还需要调整。
特点:
- 用八卦图案合成六十四卦图案。
- 有鼠标提示,显示八卦和六十四卦的卦名等信息。
- 点击六十四卦图案,显示相应的经文,点击经文自动关闭文字框。
- 可以进行占卜,按顺序随机生成六个“1”或“0”的数字,组合后就是占卜的结果。
- 用了一点 Ajax 技术,对应三大浏览器(IE, Firefox, Opera)。
如果您对这个小东西感兴趣,欢迎提供意见。
*更新*
- 采用黑色背景的配色方案。(2007.9.1)
- 弹出窗口样式更新,增加关闭图标。去掉点击文字区域关闭窗口的功能。(2007.9.1)
- 增加白话文解析,原文和白话文通过 Tab 切换。(2007.9.2)
Saturday, 25. August 2007, 00:51:55
jQuery, Calendar, JavaScript
jQuery 1.1.4 正式发布了,号称
更快、更多测试、为 1.2 做准备。
看介绍,该版本速度比起 1.1.3.1 ,又有不少提高,同时加了一些新功能,个头也有所增长,压缩版长了1k多点。
顺便把几个日历的 jquery 升级了,在 1.1.4 下,没有发现运行错误。
日历地址:
http://geelake.com/cnCalendar/http://geelake.com/jpCalendar/http://geelake.com/usCalendar/
Monday, 30. July 2007, 09:02:14
jQuery, Calendar, JavaScript, Japan
利用空闲时间,作了一个
日历 ,完全用 JavaScript 实现,用到了
jQuery 库,还用到了 jQuery 的插件
Tooltip 。
日历功能及特色:
- 用不同颜色显示节假日,鼠标移到日期上面即可显示该节假日名称。
- 默认显示今年日历,前后各有五年的日历链接。
- 除了前后五年的日历链接,还可以前后翻页。
- 点一下当前年度的标签,即可自由输入年分,按Enter键后显示输入年度的日历。(目前限制输入范围为0到10000)
- 对应三大浏览器:IE、Firefox、Opera。Safari、Konqueror等浏览器目前尚未测试。
日历外观如图所示:

因为常常要查看哪天是红日子(节假日),而且习惯了在网上查看日历,所以觉得这个东西还有点用。
网上有很多现成的日历,据我观察,生成日历的程序大多都在服务器端。实际上,JavaScript 功能足够强大,一个简单的日历程序,用浏览器本身足矣。
最近对 jQuery 比较感兴趣,有心学学这个东西,因此在这个库的基础上,做了这个日历程序。
以上日历,也可以通过
这个地址访问。
该日历程序参考了维基百科的词条:
日本のこよみ 。
*更新鼠标提示增加日期的对应星座。(2007.08.16)
Tuesday, 3. July 2007, 06:35:42
jQuery, JavaScript
接触jQuery不过数日,已经对其着迷了。
JavaScript世界里出现这么优秀的代码库,去年就已经发布,我到现在才认识,真有一种相见恨晚的感觉。
看了这篇翻译文章《jQuery——JavaScript冲击波》,我觉得应该向更多的人介绍这个优秀的代码库,故转贴于此。
jQuery——JavaScript冲击波
jQuery 1.0已经于美国时间2006年8月26日发布。这是一个好消息,世界上又多了一个超级优秀的JavaScript Framework。
我本身不是JavaScript行家,只懂些编程中最基本的东西,甚至连门都没入。但我却能从jQuery — New Wave JavaScript做很多事情,而我相信,如果使用最原始的JavaScript编写方法,我还得费上至少一年时间来学习,才能达到相同的效果。
这当然不是我喜欢它的主要理由。它的CSS选择器和XPath操作器让我最兴奋。写JavaScript,最基本的就是对DOM的选择与操作。 JavaScript自然提供有大量的API供使用,但是要精确地选择某个(些/类)元素还是相当苦难,最简单的例子,需要选择class,我们没有现成的getElementsByClassName可用,要达到目的,甚至连正则表达式都用上,而jQuery只需 $(".class"),像CSS中选择元素一样对DOM进行选择。所以,假如你也是一个CSS写手,你会迅速明白这些 $("div.class"), $("#id + .class"), $(".class > a")是啥意思。而$(".class/../p")这种最基本的XPath的东西也不难懂,总之,DOM选择就用CSS选择器的思维来思考即可。这对我来说,实在太方便了。
而操作,jQuery提供的API也十分浅显易懂,我们不用管它背后用什么实现。比如 $("p.surprise").addClass("ohmy").show("slow");,表示,给class为.surprise的p元素赋予.ohmy的class,然后显示(show)出来。我相信,即使第一次见到的人都知道它在干嘛。实际上,我就是第一次见到它就深深爱上了jQuery。
从上句中也得知,实际上jQuery对象的操作是可以Chainable(咋翻译好呢),你可以对一个jQuery对象传送不止一个信息(函数),这实在也太方便了。
还有一点,基本上,jQuery的代码都简洁易读,个人看法,这要归功于函数式编程(functional programing)方式,我认为这是一种强大的,优雅的编程方式,所以我更喜欢。
当然,我说过,我并不会编程,我说的东西可能都很肤浅,但它确实让我从中找到编程的乐趣,Thank you, John!
Monday, 2. July 2007, 10:13:54
jQuery, JavaScript
在html里面放一个id为'input_box'的文本输入框,再放一个id为'test_div'的div,就能用以下代码进行按键测试了。
(不要忘了引入jquery.js)
<script type="text/javascript">
<!--
$(function(){
var InputBox = $("#input_box");
//******************************
// KeyPress事件处理
//******************************
InputBox.keypress( function(e) {
$("#test_div").text("KeyPress: " + e.keyCode.toString());
});
//******************************
// KeyDown事件处理
//******************************
InputBox.keydown( function(e) {
$("#test_div").text("KeyDown: " + e.keyCode.toString());
});
//******************************
// KeyUp事件处理
//******************************
InputBox.keyup( function(e) {
$("#test_div").text("KeyUp: " + e.keyCode.toString());
});
});
-->
看了一下W3G关于的文档,这几个Event发生的顺序是
onkeydown → onkeypress → onkeyup 。
« Prev 1 2
Showing posts 11 -
20.