风吟的小型JavaScirpt库 (FY.JS).

小弟刚学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)

源代码经过格式化的...


代码如下:

/*
* 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);

(0)

相关推荐

  • 风吟的小型JavaScirpt库 (FY.JS).

    小弟刚学javascript没几天不发出来给各位高手指教看看这个小库哪方面可以做的更好实在是不会进步,于是我发出来求喷来了.这个小玩意我开发的初衷就是给自己使用的不建议大家使用.你要是觉得风吟的代码写得不好请你耐心的照顾一下我这个小菜鸟务必跟我说明白哪里不好应该怎么改.我不是重造轮子我只是想提高自己的水平.希望不吝赐教. 比如此库什么地方还可以更精简的写法节省更多代码 比如此库哪里不兼容或者如何写法更完美. FY.JS已经在google code 上存放. 项目地址:http://code.go

  • 基于touch.js手势库+zepto.js插件开发图片查看器(滑动、缩放、双击缩放)

    最近由于公司项目需要图片查看器,网上搜了一圈,感觉资料很少,所以决定基于百度的touch.js手势库+zepto.js自己写了一个小插件,实现了左右滑动,双指缩放,双击缩放功能,基本使用还行,但是有时候还是不太顺畅,后续会慢慢完善:写的不好的地方望各位能够给出好的建议,谢谢! 源码地址:https://github.com/GLwen/molong_photoSwipe.git 演示:http://runjs.cn/detail/iceaaogh molong.css *{padding:0;m

  • 微信小程序使用第三方库Underscore.js步骤详解

    前言 Underscore.js是一个很精干的库,压缩后只有4KB.Underscore 提供了100多个函数,包括常用的:map.filter.invoke - 当然还有更多专业的辅助函数,如:函数绑定.JavaScript 模板功能.创建快速索引.强类型相等测试等等.弥补了标准库的不足,大大方便了JavaScript的编程. 微信小程序无法直接使用require( 'underscore.js' )进行调用. 微信小程序模块化机制 微信小程序运行环境支持CommoJS模块化,通过module

  • 基于代数方程库Algebra.js解二元一次方程功能示例

    本文实例讲述了基于代数方程库Algebra.js解二元一次方程功能.分享给大家供大家参考,具体如下: 假设二元一次方程如下: x + y = 11 x - y = 5 解方程如下: <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" cont

  • JavaScript图像延迟加载库Echo.js

    Echo 是一个独立的 JavaScript 懒加载图像的工具,快速.体积小(不足1k)和使用 HTML5 的 data- 属性.Echo 支持 IE8+ . 插件描述:和 Lazy Load 一样,Echo.js 也是一个用于图像延迟加载 JavaScript.不同的是 Lazy Load 是基于 jQuery 的插件,而 Echo.js 不依赖于 jQuery 或其他 JavaScript 库,可独立使用.并且 Echo.js 非常小巧,压缩后不足 1KB. 兼容性 Echo.js 使用了

  • JS库particles.js创建超炫背景粒子插件(附源码下载)

    插件描述:particles.js用于创建粒子的轻量级 JavaScript 库. 查看 效果             源码下载 使用 加载 particles.js和配置粒子 <div id="particles-js"></div> <script src="particles.js"></script> app.js /* particlesJS.load(@dom-id, @path-json, @callba

  • tangram.js库实现js类的方式实例分析

    本文实例讲述了tangram.js库实现js类的方式.分享给大家供大家参考,具体如下: 前面一篇http://www.jb51.net/article/25781.htm对tangram.js库做了较为详细的介绍,这里结合实例分析一下tangram.js库实现js类的方式.代码如下: /* * Tangram * Copyright 2010 Baidu Inc. All rights reserved. * * @author: meizz * @namespace: baidu.lang.c

  • Python利用PyExecJS库执行JS函数的案例分析

      在Web渗透流程的暴力登录场景和爬虫抓取场景中,经常会遇到一些登录表单用DES之类的加密方式来加密参数,也就是说,你不搞定这些前端加密,你的编写的脚本是不可能Login成功的.针对这个问题,现在有三种解决方式: ①看懂前端的加密流程,然后用脚本编写这些方法(或者找开源的源码),模拟这个加密的流程.缺点是:不懂JS的话,看懂的成本就比较高了: ②selenium + Chrome Headless.缺点是:因为是模拟点击,所以效率相对①.③低一些: ③使用语言调用JS引擎来执行JS函数.缺点是

  • python使用js2py库运行js代码

    目录 一.js2py库概述 二.抽取js代码运行结果 三.提取js语句内变量和对象等 四.其他 在日常使用Python做爬虫,一般会用到以下手段: 请求URL,返回HTML文本,然后通过xpath.css或者re,提取数据 有些网页的数据通过AJAX异步请求加载,此时找到对应的接口,调用并直接使用接口返回的数据 有时候如果网站反爬或安全机制比较高时,则会做一些验证或者加密,比如cookie内必须携带token等信息,而这些信息是通过混淆过的js代码计算得出的. 针对1,应该是爬取大多数没有任何安

  • 深入解析Backbone.js框架的依赖库Underscore.js的作用

    backbone必须依赖underscore.js才能够使用,它必须通过underscore中的函数来完成访问页面元素.处理元素的基本操作. 注:backbone可以很好的与其它js库一起工作,所以说它是一个库,而不是框架. Underscore并没有对原生对象进行扩展,而是调用_()方法进行封装,一旦封装完成,js对象就变为Underscore对象,也可以通过Underscore对象的Value()方法获取原生js对象中的数据.(jquery通过$()方法得到Jquery对象) Undersc

随机推荐