Rekey's WebSpace

Just So So ...

Home Develop Life Music News 关于

loader,用来加载需要的资源

作者:Rekey 发布时间:August 9, 2010 分类:Develop 2 Comments

就不多写了.总觉得这个东西很搓.

/*
loader,用来加载需要的资源
* */
var loader = {
	"Version" : '20100809',
	"path" : {
		"js":"/js/",
		"css":"/css/"
	},
	"stats" : {
		"smoothbox":{
			"js":"smoothbox",
			"css":"smoothbox"
		},
		"form":{
			"js":"form",
			"css":""
		},
		"humanmessage":{
			"js":"humanmessage",
			"css":""
		}
	},
	"fnList" : {},
	"use" : function(name,callback){
		if(this.getStats(name) == 'loaded'){
			callback();
			return;
		}
		this.fnList[name] = [];
		this.fnList[name].push(callback);
		this.load(name);
	},
	"setStats":function(name,type,stat){
		this.stats[name][type] = stat;
	},
	"getStats":function(name){
		if(this.stats[name]['js'] == 'loaded' && this.stats[name]['css'] == 'loaded'){
			return 'loaded';
		}
		if(this.stats[name]['js'] == 'loading' || this.stats[name]['css'] == 'loading'){
			return 'loading';
		}
		return this.stats[name]['js'] + ' + ' + this.stats[name]['css'];
	},
	"load":function(name){
		if(this.getStats(name) == 'loading'){
			return;
		}
		var _this = this;
		var widget = this.stats[name];
		var callback = function(){
			if(_this.getStats(name) == 'loaded'){
				var fnList = _this.fnList[name];
				for(var i = 0 , len = fnList.length ; i < len ; i++ ){
					fnList.shift()();
				}
			}
		};
		for(var i in widget){
			if(widget[i] == ''){
					this.setStats(name,i,'loaded');
			}else{
				var url = this.path[i]+widget[i]+'.'+i;
				this.setStats(name,i,'loading');
				_this['load'+i](url,(function(i){
					return function(){
						_this.setStats(name,i,'loaded');
						callback();
					}
				})(i));
			}
		}
	},
	"loadjs":function(url,callback,context){
		var oHead = context || document.getElementsByTagName('head')[0];
		var oScript= document.createElement("script");
		oScript.type = "text/javascript";
		oScript.src = url+'?t='+this.Version+'.js';
		oScript.onload = oScript.onreadystatechange = function(){
			if (!this.readyState || this.readyState == "loaded" || this.readyState == "complete") {
				callback();
			}
		};
		oHead.appendChild(oScript);
	},
	"loadcss":function(url,callback){
		var oHead = document.getElementsByTagName('head')[0];
		var oCss = document.createElement('link');
		oCss.href = url+'?t='+this.Version+'.css';
		oCss.rel = 'stylesheet';
		oCss.type = 'text/css';
		if(!Browser.Engine.trident && callback){
			callback();
		}
		if(Browser.Engine.trident && callback){
			oCss.onreadystatechange = function(){
				if (this.readyState == "loaded" || this.readyState == "complete") {
					callback();
				}
			};
		}
		oHead.appendChild(oCss);
	}
}
标签 : javascript

MooTools框架获取Element对象的事件

作者:Rekey 发布时间:April 14, 2010 分类:Develop 4 Comments

东西做到一定程度的时候.需要暂停某个Element对象的click事件,想用个变量保存这个函数,但看了半天MooTools的API都没看到相关方法..
无奈自己翻源代码,找到了.

Element.retrieve('events')[event_type].keys;

通过上的方法得到的是一个事件的数组.

标签 : javascript, mootools

序列化内容块,紧贴布局

作者:Rekey 发布时间:April 10, 2010 分类:Develop No Comments

之前公司有要仿造一个国外网站的这样一个效果.可直接扣下来似乎效果不太好.所以我自己写了一个.idea非原创,代码自己写的.
再加上最近对mootools比较感兴趣.就用这个效果练手了.写了这么个效果.

鉴于js处理高亮太卡..请大家猛击以下连接查看效果..
demo link

标签 : javascript, mootools

jQuery1.4正式版发布了.

作者:Rekey 发布时间:January 15, 2010 分类:News,Develop No Comments

官方网站已经提供下载了.请猛击 http://jquery.com/
下载地址
http://code.jquery.com/jquery-1.4.min.js
http://code.jquery.com/jquery-1.4.js

更新说明:

  1. 常用方法的性能大幅提升。重写了大部分较早期的函数。
  2. 更容易使用的设置函数(setter function)。为所有对象新增了许多易用的设置函数。
  3. Ajax方面的改进。引入了许多Ajax和JSON处理方面的更新,包括HTML5元素的序列化。
  4. attribute(改进了.attr()的性能)、jQuery()核心函数、CSS(.css()性能有两倍提升)、特效和事件、DOM操作等也有显著改进。
标签 : javascript, jQuery

颜色渐变

作者:Rekey 发布时间:December 15, 2009 分类:Develop No Comments

今天突发奇想.研究了下10进制和16进制的东西.
想到了颜色的表达也是16进制的..所以就尝试性的写下了这些!~
嘿嘿.还蛮好玩的.

< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Untitled Document</title>
        <style type="text/css">
            * {
                padding: 0;
                margin: 0
            }
            
            #main {
                width: 500px;
                float: left;
                height: 20px;
                background: #000
            }
            
            #slidebar {
                width: 300px;
                float: left;
                height: 20px;
            }
        </style>
        <script type="text/javascript">
            function colorShow(sColor, eColor){
                this.sNum = Number('0x' + sColor);
                this.eNum = Number('0x' + eColor);
            }
            
            colorShow.prototype = {
                init: function(){
                    this.step = parseInt((this.eNum - this.sNum) / 10, 10)
                    this.step = this.step == 0 ? 1 : this.step;
                    this.sNum = (this.sNum + this.step > this.eNum) ? this.eNum : this.sNum + this.step;
                },
                fx: function(){
                    var _self = this
                    setTimeout(function(){
                        document.getElementById('main').style.backgroundColor = '#' + _self.sNum.toString(16);
                        document.getElementById('slidebar').innerHTML = '#' + _self.sNum.toString(16);
                        _self.fx();
                        _self.init();
                    }, 100)
                }
            }
            window.onload = function(){
                var tes = new colorShow('000000', 'ffffff');
                tes.init();
                tes.fx()
            }
        </script>
        </meta>
    </head>
    <body>
        <div id="main">这里的颜色变动</div>
        <div id="slidebar">slidebar</div>
    </body>
</html>
标签 : javascript
123