此库非常的迷你压缩之后只有1.54KB.但是却有类似jquery的语法有COOKIE操作还有DOM以及AJAX跟绑定事件函数. 小弟刚学javascript没几天不发出来给各位高手指教看看这个小库哪方面可以做的更好实在是不会进步,于是我发出来求喷来了。这个小玩意我开发的初衷就是给自己使用的不建议大家使用。你要是觉得风吟的代码写得不好请你耐心的照顾一下我这个小菜鸟务必跟我说明白哪里不好应该怎么改。我不是重造轮子我只是想提高自己的水平。希望不吝赐教。 比如此库什么地方还可以更精简的写法节省更多代码 比如此库哪里不兼容或者如何写法更完美。 FY.JS已经在google code 上存放. 项目地址:http://code.google.com/p/fyjs/ 文档地址:http://fyjs.googlecode.com/files/FY.JS.1.0.doc.zip (文档地址,里面含有完整例子.) 文件地址:http://fyjs.googlecode.com/files/FY.1.0.js (压缩版1.54KB) 源代码经过格式化的... 1 /*
2 * FY Library 1.0 3 * Copyright(c) 2010 FengYin 4 * Blog: http://fengyin.name/ 5 * Date: 2010-3-12 16:10:01 6 * Update: http://code.google.com/p/fyjs/ 7 */ 8 (function(_w,_d) { 9 var _FY,$,FY; 10 _w._FY=_w.$= function(i) { 11 return new FY(i) 12 }; 13 FY = function(i) { 14 this.id = _d.getElementById(i) 15 }; 16 FY.prototype = { 17 ready: function(f) { 18 var l = _w.onload; 19 if (typeof(l) == "function") { 20 _w.onload = function() { 21 l(); 22 f() 23 } 24 } else { 25 _w.onload = f 26 } 27 }, 28 html: function(c) { 29 var g = this.id, 30 r = g.innerHTML; 31 if (c) { 32 g.innerHTML = ""; 33 g.innerHTML += c; 34 return this 35 } else { 36 return r 37 } 38 }, 39 val: function(c) { 40 var g = this.id, 41 r = g.value; 42 if (c) { 43 g.value = ""; 44 g.value += c; 45 return this 46 } else { 47 return r 48 } 49 }, 50 text: function(c) { 51 var g = this.id, 52 r = g.innerText, 53 f = g.textContent; 54 if (c) { 55 r ? g.innerText = "": g.textContent = ""; 56 r ? g.innerText += c: g.textContent += c; 57 return this 58 } else { 59 return r ? r: f 60 } 61 }, 62 show: function(f) { 63 this.id.style.display = "block"; 64 f ? f() : null 65 }, 66 hide: function(f) { 67 this.id.style.display = "none"; 68 f ? f() : null 69 }, 70 bind: function(t, f) { 71 var l = this.id, 72 e = l.attachEvent; 73 e ? l.attachEvent("on" + t,f):l.addEventListener(t,f,false) 74 }, 75 setcookie: function(s) { 76 var p = new Date(); 77 p.setTime(p.getTime() + (s.expires || 24) * 60 * 60 * 1000); 78 _d.cookie = s.name + "=" + escape(s.value) + ";expires=" + p.toGMTString() + ';path=/' 79 }, 80 getcookie: function(n) { 81 var c = _d.cookie.match(new RegExp("(^| )" + n + "=([^;]*)(;|$)")); 82 return c ? unescape(c[2]) : null 83 }, 84 ajax: function(s) { 85 var a = _w.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP") : new XMLHttpRequest(); 86 with(a) { 87 open("POST", s.url, true); 88 setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8"); 89 send(s.data); 90 onreadystatechange = function() { 91 if (readyState == 4 && status == 200) { 92 s.success(responseText) 93 } 94 } 95 } 96 } 97 } 98 })(window,document); |