I just learned javascript for a few days and it won’t make any progress if I don’t post it to give advice to all the experts to see what aspects of this library can be better, so I posted it to ask for comments. My original intention of developing this gadget is for my own use and I don’t recommend it to everyone. If you think Feng Yin's code is not well written, please be patient and take care of me, a newbie. Be sure to explain to me what is wrong and how to change it. I'm not reinventing the wheel I'm just trying to improve my game. Hope you can enlighten me.
For example, where can this library be written in a more streamlined way to save more code
For example, where is this library incompatible or how to write it more perfectly.
FY.JS has been stored on google code.
Project address: http://code.google.com/p/fyjs/
Document address: http://fyjs.googlecode.com/files/FY.JS.1.0.doc.zip (Document address, which contains complete examples .)
File address: http://fyjs.googlecode.com/files/FY.1.0.js (Compressed version 1.54KB)
The source code is formatted...
/*
* FY Library 1.0
* Copyright(c) 2010 FengYin
* Blog: http://fengyin.name/
* Date: 2010-3-12 16:10:01
* Update: http://code.google.com/p/fyjs/
*/
(function(_w,_d) {
var _FY,$,FY;
_w. _FY=_w.$= function(i) {
return new FY(i)
};
FY = function(i) {
this.id = _d.getElementById(i)
};
FY.prototype = {
ready: function(f) {
var l = _w.onload;
if (typeof(l) == "function") {
_w.onload = function() {
l();
f()
}
} else {
_w.onload = f
}
},
html: function(c) {
var g = this.id,
r = g.innerHTML;
if (c) {
g.innerHTML = "";
g. innerHTML = c;
return this
} else {
return r
}
},
val: function(c) {
var g = this.id,
r = g.value;
if (c) {
g.value = "";
g.value = c;
return this
} else {
return r
}
},
text: function(c) {
var g = this.id,
r = g.innerText,
f = g.textContent;
if (c) {
r ? g.innerText = "": g.textContent = "";
r ? g.innerText = c: g.textContent = c;
return this
} else {
return r ? r: f
}
},
show: function(f) {
this.id.style.display = "block";
f ? f() : null
},
hide: function(f) {
this.id.style.display = "none";
f ? f() : null
} ,
bind: function(t, f) {
var l = this.id,
e = l.attachEvent;
e ? l.attachEvent("on" t,f):l .addEventListener(t,f,false)
},
setcookie: function(s) {
var p = new Date();
p.setTime(p.getTime() (s. expires || 24) * 60 * 60 * 1000);
_d.cookie = s.name "=" escape(s.value) ";expires=" p.toGMTString() ';path=/'
},
getcookie: function(n) {
var c = _d.cookie.match(new RegExp("(^| )" n "=([^;]*)(;|$)" ));
return c ? unescape(c[2]) : null
},
ajax: function(s) {
var a = _w.ActiveXObject ? new ActiveXObject("Microsoft.XMLHTTP ") : new XMLHttpRequest();
with(a) {
open("POST", s.url, true);
setRequestHeader("Content-Type", "application/x-www- form-urlencoded; charset=UTF-8");
send(s.data);
onreadystatechange = function() {
if (readyState == 4 && status == 200) {
s.success(responseText)
}
}
}
}
}
})(window,document);