浏览模式: 标准 | 列表分类:Javascript
Submitted by gouki on 2010, July 6, 9:22 AM
对秀才的demo做了点简单的修正。
1、index.html中的
var _menus = { menu object };
改为
var _menus = [{xx}];
这样的好处是,如果json是生成而来的也不受影响
2、修改outlook.js
在 InitLeftMenu()方法 增加一个判断:
if( typeof _menus[0] != 'object'){
alert('左侧菜单加载失败,请检查菜单数据来源');
return ;
}
搜索 _menus,改为_menus[0]
--------------------------
理由,因为大多数时间菜单是用程序生成的。如果不用[]包住就可能会出现
var _menus = ;
function test(){}
这样,语法是错误的。用[]进行一下容错。
-------------------------
demo也不错,提供下载,但我在这个压缩包里没有进行修正【请需要的朋友自己修正吧】
作者:疯狂秀才
网站:http://hxling.cnblogs.com
Demo:jquery-easyui 1.1 demo 修正.rar
Tags: jquery, easyui, demo, 修正
Javascript | 评论:0
| 阅读:25713
Submitted by gouki on 2010, July 2, 9:58 PM
一个简单的例子,是懒宝宝让我帮忙的。因为我自己也注意到了,radio在选中后,一般无法取消,查了一下google,发现还是有方法 的。因此,立马解决了:
XML/HTML代码
- <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.1/jquery.min.js"></script>
- <table class="rs" border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td>HIV :阴
- <input type="radio" name="hiv[0]" value="HIV:阴" union="yin"/>
- 阳
- <input type="radio" name="hiv[0]" value="HIV:阳" union="yang" /></td>
- <td>梅毒:阴
- <input type="radio" name="hiv[1]" value="梅毒:阴" union="yin" />
- 阳
- <input type="radio" name="hiv[1]" value="梅毒:阳" union="yang" /></td>
- <td>疱疹:阴
- <input type="radio" name="hiv[2]" value="疱疹:阴" union="yin" />
- 阳
- <input type="radio" name="hiv[2]" value="疱疹:阳" union="yang" /></td>
- <td>淋病:阴
- <input type="radio" name="hiv[3]" value="淋病:阴" union="yin" />
- 阳
- <input type="radio" name="hiv[3]" value="淋病:阳" union="yang" /></td>
- </tr>
- <tr>
- <td>非淋:阴
- <input type="radio" name="hiv[4]" value="非淋:阴" union="yin" />
- 阳
- <input type="radio" name="hiv[4]" value="非淋:阳" union="yang" /></td>
- <td>湿疣:阴
- <input type="radio" name="hiv[5]" value="湿疣:阴" union="yin" />
- 阳
- <input type="radio" name="hiv[5]" value="湿疣:阳" union="yang" /></td>
- <td>丙肝:阴
- <input type="radio" name="hiv[6]" value="丙肝:阴" union="yin" />
- 阳
- <input type="radio" name="hiv[6]" value="丙肝:阳" union="yang" /></td>
- <td><a style="cursor:pointer;" id='allyin'>全阴</a> <a style="cursor:pointer;" id='allyang'>全阳</a> <a id='allempty' style="cursor:pointer;">重填</a>
- <script>
- $(function(){
- $('#allyin').click(function(){
- $(':input[union="yin"]').attr('checked','checked');
- });
- $('#allyang').click(function(){
- $(':input[union=yang]').attr('checked','checked');
- });
- $('#allempty').click(function(){
- $(':input[union=yang]').each(function(){
- $(this).attr('checked','checked');
- var tmp = $(this)[0];
- tmp.checked = false;
- tmp = null;
- })
- });
- });
- </script></td>
- </tr>
- </table>
因为用jquery的话,选中radion的方法很方便。所以,就尝试用这种方式解决了。。。但是用jquery无法取消checked状态,只能用原生js的方式才行(jquery是把元素都转换为对象,而不是DOM对象)
Tags: jquery, radio, checked
Javascript | 评论:1
| 阅读:38543
Submitted by gouki on 2010, July 1, 1:47 PM
上文ipad 越狱第一步:备份数据介绍了如何备份系统。这一次介绍如何越狱。
软件spirit在上文中有下载链接:spirit.exe【由于我讲的是win下面的方法,mac下的spirit就不提供了。】
OK让我们开始吧。
将spirit.exe拷到C盘根目录下或者某个目录下(目录名有要求,1、英文;2、没有空格)
然后接上线,运行spirit.exe,机器会自动重启,这时基本上就越狱成功了,因为你重启机器后会有cydia的软件在第二屏。根据他的提示下一步下一步就OK了。
当然需要更多的配置,比如:隐藏桌面图标、文件管理等等工具,就需要使用cydia提供的软件了。这里有一篇文章,介绍了很多常用工具,可以查看一下,文中有介绍几个source源需要通过cydia程序加进去(如果你采用了91助手,就更方便了)
文章地址:http://bbs.weiphone.com/read-htm-tid-820992.html
Javascript | 评论:1
| 阅读:17465
Submitted by gouki on 2010, June 30, 12:06 PM
司徒正美,不用多介绍了吧?博客园上,JS牛人。就象他说的,取名叫ruby并不一定就是玩ruby的(额,好象没记错)
上原文吧,因为我对JS的了解还处于较初级的阶段,所以关注的就比较多了,原文来自:http://www.cnblogs.com/rubylouvre/archive/2010/02/11/1667364.html,原文有JS的执行功能,可以尝试。
请看以下两个函数:
JavaScript代码
- function a(){
- alert("a")
- }
- var b = function(){
- alert("b")
- }
它们俩有何不同呢?翻开书,作者会告诉我们,前者为函数声明,后者为函数表达式。函数声明作为一种声明,当然会在预编译阶级有所动作(声明提前),而函数 表达式则不会。另一个区别是,函数声明不能直接加一对括号让它们执行。第三个区别,表达式还可以继续细分,表达式是由常量,变量,操作符,函数等组合而 成,计算以后返回一个结果值,至少也会返回一个undefined。
JavaScript代码
- function a (){
- alert("a")
- }();
- var b = function(){
- alert("b")
- }();
-
- (function foo(){});
- var bar = function foo(){};
- new function bar(){};
给 function 外套一对括号(分组操作符)就不报错了,括号是表达式,是表达式就有返回值,所以可以在后面加一对括号让它们执行,再看
JavaScript代码
- (function a (){
- alert("a")
- })();
另外,我们知道,函数名的作用就是用来引用的,现在没用了,我们是不是可以把它去掉呢?
JavaScript代码
- (function (){
- alert(arguments.callee)
- })();
知道这个,我们就可以方便地递归自身了。如弄一个深拷贝函数
JavaScript代码
- var deepExtend = function(destination, source) {
- for (var property in source) {
- if (source[property] && source[property].constructor &&
- source[property].constructor === Object) {
- destination[property] = destination[property] || {};
- arguments.callee(destination[property], source[property]);
- } else {
- destination[property] = source[property];
- }
- }
- return destination;
- };
另外,从另一方便也启法了我们如何兼【廉】价地批量生产各种各样的自动执行函数。因为把函数转换为表达式的方法并不一定要靠分组操作符,我们还可以用 void操作符,~操作符,!操作符……
JavaScript代码
- void function(){
- alert("司徒正美");
- }()
-
- 0, function(){
- alert("司徒正美");
- }();
- -function(){
- alert("司徒正美");
- }();
- +function(){
- alert("司徒正美");
- }();
- !function(){
- alert("司徒正美");
- }();
- ~function(){
- alert("司徒正美");
- }();
- typeof function(){
- alert("司徒正美");
- }();
--EOF--
自动执行函数确实有意思。。。
Tags: 司徒正美
Javascript | 评论:0
| 阅读:20940
Submitted by gouki on 2010, June 28, 8:09 AM
从PHP5.3起,也自带了匿名函数支持,只是它的支持并没有象js这样强大,风雪之隅测试过,可以查看:深入理解PHP之匿名函数,而这篇文章对于匿名函数和new Object以及new Function()的应用,作了较为详细的介绍和测试,如果你在开发中遇到这些问题,产生疑惑了,可以借鉴一下。
今天在园子里闲逛,看到wsxjr(很邪恶地联想到“我是下贱人”,晕)写的Javascript匿名函数的一种应用:封装一文,想起自己很久以前学习javascript的经历,也曾经碰到过几个由匿名函数造成的困扰(其中一个就是由闭包引起的),下面就整理几段简单代码讨论一下,让我们大家一起进步。
1、简单形式的封装调用
JavaScript代码
- var userName = function() { return "jeff wong" } ();
- alert(userName);
上面的代码确实简单,我们可以逐步分解成下面的写法:
JavaScript代码
- var anonymousFunc = function() { return "jeff wong" };
- var name = anonymousFunc();
- alert(name);
2、new 一下Function的形式(大写Function)
JavaScript代码
- var a = new Object();
- var b = new Function();
-
-
- alert(a);
- alert(b);
-
-
var a = new Object(); var b = new Function(); //alert(typeof (a)); //object //alert(typeof (b)); //function alert(a); //[object Object] alert(b); //匿名函数 //alert(a == b); //false //alert(a === b); //false
正如你所看到的那样,我们new一个Object,变量a弹出的是[object Object],而new一个Function(注意,是大写Function),b在弹出的时候,生成了匿名函数。 既然b是匿名函数,函数当然可以执行,我们可以继续试试下面的代码验证自己的猜测:
JavaScript代码
- alert(b());
- alert(a());
3、new 一下function也大有乾坤(小写function)
(1)、简单的空函数
JavaScript代码
- var func = new function() { };
- alert(typeof (func));
- alert(func);
-
var func = new function() { }; alert(typeof (func)); //object alert(func); //[object Object] //alert(func()); //脚本错误 func不是函数
其实上面的代码也就等价于下面的写法:
JavaScript代码
- function anonymousClass() { }
- var instance = new anonymousClass();
- alert(typeof (instance));
- alert(instance);
function anonymousClass() { } //匿名类 var instance = new anonymousClass(); alert(typeof (instance));//object alert(instance); //[object Object]
(2)、函数带个返回值的,也不是很难理解
JavaScript代码
- var func = new function() { return "jeff wong" };
- alert(typeof (func));
- alert(func);
-
var func = new function() { return "jeff wong" }; alert(typeof (func)); alert(func); //alert(func()); //脚本错误 缺少函数
其实上面的代码也就等价于下面的写法:
JavaScript代码
- function anonymousClass() { return "jeff wong"; }
- var instance = new anonymousClass();
- alert(typeof (instance));
- alert(instance);
(3)、还是函数带个返回值的,写法稍微有点不同
下面的代码请注意和(2)中的区分一下,因为接下来要重点讨论的就是那一点点的不同书写形式:
JavaScript代码
- var func = new function() { return new String("jeff wong"); };
- alert(typeof (func));
- alert(func);
-
var func = new function() { return new String("jeff wong"); }; alert(typeof (func)); //object 意料之中 alert(func); //这里?! //alert(func()); //脚本错误 缺少函数
上面代码的等价形式依然简单:
JavaScript代码
- function anonymousClass() { return new String("jeff wong"); }
- var instance = new anonymousClass();
- alert(typeof (instance));
- alert(instance);
已经运行看到结果了吗?没错,第三种写法我们在弹出func或者instance的时候,都出人意料地得到了一段字符串"jeff wong"。细心比较(2)和(3)中的代码,除了return处的写法稍有不同之外,两处代码几乎完全一致,所以我们推断,毫无疑问,是new String的形式让我们的函数产生了意想不到的效果。 为什么会这样呢?
原来,在javascript中,只要在new表达式之后的constructor返回(return)一个原始类型(无return时其实是return原始类型undefined,如(1)),比如第(2)种写法,那么就返回new创建的匿名对象;而如果new表达式之后的constructor返回一个引用对象,比如对象(Object),函数(function)及数组(Array)等等,那么返回的该引用对象就将覆盖new创建的匿名对象。现在再来分析(3)中的写法,由于new String会构造一个字符串引用对象,它就覆盖了new所创建的匿名对象,而new String的所指向引用值是“jeff wong”,所以弹出的必然是当前new String所分配的值。
最后,留个思考题,大家看看下面的代码返回什么结果:
JavaScript代码
- var func = new function() { var str = new String("jeff wong"); return str; };
-
- alert(func);
原文来自于:http://www.cnblogs.com/jeffwongishandsome/archive/2010/06/27/1766207.html
作者:Jeff Wong
Tags: 匿名函数
Javascript | 评论:0
| 阅读:18130