<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Dansion&#039;s 日志 &#187; js</title>
	<atom:link href="http://www.dansion.com/blog/tag/js/feed" rel="self" type="application/rss+xml" />
	<link>http://www.dansion.com/blog</link>
	<description>学无止境～～～～～～～</description>
	<lastBuildDate>Thu, 29 Sep 2011 09:25:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.5</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JS滚动条</title>
		<link>http://www.dansion.com/blog/javascript/js-scroller.html</link>
		<comments>http://www.dansion.com/blog/javascript/js-scroller.html#comments</comments>
		<pubDate>Thu, 02 Jul 2009 07:28:10 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[其它]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/?p=836</guid>
		<description><![CDATA[花了几天时间用js实现模拟滚动条，支持圆角
兼容性: IE6/7/8/ 通过测试
Firefox3/Opera10/ 非文本输入不支持鼠标滚动
Chrome2/Safari4/ 不支持鼠标滚动
文件下载：dscroll.js (右健另存为)   实例
DScroller(id,w);
实例参数：
id:dom对象的id号，不可省略.
w:滚动条的宽度,默认15px,可省略。支持圆角，所以滚动按扭最小高度为w*2
方法：
append();
refresh();//重绘滚动
width();
height();
scrollTo(n); n为0-100
属性：(皆为dom节点)
panel;
content;
scroller;
dom结构变化：
原DOM对象：
&#60;div class=&#8221;classA&#8221;&#62;内容&#60;/div&#62;
调用js方法之后：
&#60;div class=&#8221;classA&#8221;&#62;
&#160;&#160;&#160;&#160;&#60;div&#62;内容&#60;/div&#62;
&#160;&#160;&#160;&#160;&#60;div class=&#8221;scroller&#8221;&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#60;div class=&#8221;scrollBar&#8221;&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#60;div class=&#8221;top&#8221;&#62;&#60;/div&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#60;div class=&#8221;end&#8221;&#62;&#60;/div&#62;
&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#60;/div&#62;
&#160;&#160;&#160;&#160;&#60;/div&#62;
&#60;/div&#62;
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/javascript/js-scroller.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>让ie支持DOM2事件模型写法</title>
		<link>http://www.dansion.com/blog/javascript/ie-dom2.html</link>
		<comments>http://www.dansion.com/blog/javascript/ie-dom2.html#comments</comments>
		<pubDate>Tue, 09 Jun 2009 16:41:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/?p=782</guid>
		<description><![CDATA[这几天要用js做点东西，又不用现成的框架。
习惯了as3的语法，对ie的window.evnet事件机制忒不习惯。敲了一些代码，让ie8支持dom2事件模型,当然只是泡冒模型。
function $(s){
if(window.container==undefined){
window.container=new Object();//空器，让每个$(&#8221;id&#8221;)同一id得到是同一个
}
if(window.container[s]==undefined){
obj=document.getElementById(s);
window.container[s]=obj;
if(getBrowser(&#8221;MSIE&#8221;)){
obj.eventListeners=new Array();  //事件列表容器
obj.addEvent=function(action,obj,bubble,fun){//委托处理事件
var delegate=function(){
window.event.cancelBubble=bubble;
//丢出事件
var evt=new Event(action,window.event.srcElement,obj,bubble);
if(action==&#8221;onmouseover&#8221;){
evt.relatedTarget=window.event.fromElement;
}else if(action==&#8221;onmouseout&#8221;){
evt.relatedTarget=window.event.toElement;
}
evt.clientX=window.event.clientX;
evt.clientY=window.event.clientY;
evt.screenX=window.event.screenX;
evt.screenY=window.event.screenX;
fun(evt);
}
obj.eventListeners.push({func:fun,delegateFunc:delegate});
return delegate;
}
obj.addEventListener=function(action,fun,bubble){//给对象增加addEventListener方法
action=&#8221;on&#8221;+action;
obj.attachEvent(action,obj.addEvent(action,obj,bubble,fun));
}
obj.removeEventListener=function(action,fun,bubble){//给对象增加removeEventListener方法
for(var i=0;i&#60;obj.eventListeners.length;i++){
if(obj.eventListeners[i].func==fun){
action=&#8221;on&#8221;+action;
obj.detachEvent(action,obj.eventListeners[i].delegateFunc);
}
}
}
return obj;
}else{
//非IE浏览器，只测了FF,google的
var obj=document.getElementById(s);
obj.contains=function(tgt){//contains方法很实用，flash as里也有，就给添加一个。
while(tgt!=null&#38;&#38;typeof(tgt.tagName)!=&#8221;undefind&#8221;){
if(tgt==this){return true};
tgt=tgt.parentNode;
}
return false;
}
return obj;
}
}else{
return window.container[s];
}
}
//判断是否是指定浏览器
function getBrowser(browserType){
var browser=navigator.userAgent;
if (browser.indexOf(browserType)&#62;0){
return true;
}
}
//事件&#8221;类&#8221;
function Event(type,target,currentTarget,bubble){
this.currentTarget=currentTarget;
this.type=type;
this.target=target;
this.bubble=bubble;
this.toString=function(){
return &#8220;[Event type="+type+" bubble="+bubble+" target:"+target.name+" currentTarget="+currentTarget.name+"]&#8220;;
}
}
先这样了，有空再优化扩展一下。
应用例子：
$(&#8221;div1&#8243;).addEventListener(&#8221;mouseover&#8221;,eventover,false);
$(&#8221;div1&#8243;).addEventListener(&#8221;mouseout&#8221;,eventout,false);
function eventover(e){
if(!e.currentTarget.contains(e.relatedTarget)){
alert(&#8221;in&#8221;);
}
}
function eventout(e){
if(!e.currentTarget.contains(e.relatedTarget)){
alert(&#8221;out&#8221;);
}
}
function cancel(){
$(&#8221;div1&#8243;).removeEventListener(&#8217;mouseout&#8217;,eventout,false);
$(&#8221;div1&#8243;).removeEventListener(&#8217;mouseover&#8217;,eventover,false);
}
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/javascript/ie-dom2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>js+flash实现一次上传多个文件</title>
		<link>http://www.dansion.com/blog/javascript/fancyupload.html</link>
		<comments>http://www.dansion.com/blog/javascript/fancyupload.html#comments</comments>
		<pubDate>Tue, 15 Jan 2008 15:40:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[FancyUpload]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/archives/31</guid>
		<description><![CDATA[在老外一个博客中发现一个好东西.利用flash调用文件选择对方框的功能,给合js,实现可以一次选择多个文件,并且可以定制文件类型.绝对的好东西.老外的博客地址:http://digitarald.de上传组件演示地址:http://www.dansion.com/FancyUpload/FancyUpload.html
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/javascript/fancyupload.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>js接收post变量</title>
		<link>http://www.dansion.com/blog/javascript/js-receive-post-variables.html</link>
		<comments>http://www.dansion.com/blog/javascript/js-receive-post-variables.html#comments</comments>
		<pubDate>Mon, 26 Mar 2007 15:21:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/archives/18</guid>
		<description><![CDATA[实现URL字符串提取,为js传递变量提供别一种方法.
&#60;script&#160;language=&#34;javascript&#34;&#160;&#62;/*&#160;*&#8212;&#8212;&#8212;&#8212;&#8212;&#160;Read.htm&#160;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#160;*&#160;Request[key]&#160;*&#160;功能:实现URL字符串提取,Request(&#34;AAA&#34;)&#160;*&#160;参数:key,字符串.&#160;*&#160;实例:alert(Request[&#34;AAA&#34;])&#160;*&#8212;&#8212;&#8212;&#8212;&#8212;&#160;Request.htm&#160;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#160;*/var&#160;url=location.search;var&#160;Requ[---]est&#160;=&#160;new&#160;Object();if(url.indexOf(&#34;?&#34;)!=-1){&#160;&#160;&#160;&#160;var&#160;str&#160;=&#160;url.substr(1)&#160;&#160;//去掉?号&#160;&#160;&#160;&#160;strs&#160;=&#160;str.split(&#34;&#038;&#34;);&#160;&#160;&#160;&#160;for(var&#160;i=0;i&#60;strs.length;i++)&#160;&#160;&#160;&#160;{&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Request[strs[i].split(&#34;=&#34;)[0]]=unescape(strs[i].split(&#34;=&#34;)[1]);&#160;&#160;&#160;&#160;}}document.write(Request[&#34;username&#34;]);document.write(Request[&#34;sex&#34;]);//alert(Request[&#34;username&#34;])//alert(Request[&#34;sex&#34;])&#60;/script&#62;
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/javascript/js-receive-post-variables.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>js实现cookie参数传递.</title>
		<link>http://www.dansion.com/blog/xhtmlcss/js-cookie.html</link>
		<comments>http://www.dansion.com/blog/xhtmlcss/js-cookie.html#comments</comments>
		<pubDate>Wed, 21 Mar 2007 08:01:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[xhtml+css]]></category>
		<category><![CDATA[js]]></category>

		<guid isPermaLink="false">http://www.dansion.com/blog/archives/12</guid>
		<description><![CDATA[一共两个文件,post.htm传递参数.read.htm接收参数Post.htm
&#60;input&#160;type=&#34;text&#34;&#160;name=&#34;txt1&#34;&#62;&#60;input&#160;type=&#34;button&#34;&#160;onclick=&#34;setCookie(&#39;dansion&#39;,document.all.txt1.value)&#34;&#160;value=&#34;Post&#34;&#62;&#60;script&#160;language=&#34;javascript&#34;&#160;&#62;function&#160;setCookie(name,value){/*&#160;*&#8212;&#8212;&#8212;&#8212;&#8212;&#160;setCookie(name,value)&#160;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#160;*&#160;setCookie(name,value)&#160;&#160;*&#160;功能:设置得变量name的值&#160;*&#160;参数:name,字符串;value,字符串.&#160;*&#160;实例:setCookie(&#39;username&#39;,&#39;dansion&#39;)&#160;*&#8212;&#8212;&#8212;&#8212;&#8212;&#160;setCookie(name,value)&#160;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#160;*/&#160;&#160;&#160;&#160;var&#160;Days&#160;=&#160;30;&#160;//此&#160;cookie&#160;将被保存&#160;30&#160;天&#160;&#160;&#160;&#160;var&#160;exp&#160;&#160;=&#160;new&#160;Date();&#160;&#160;&#160;&#160;exp.setTime(exp.getTime()&#160;+&#160;Days*24*60*60*1000);&#160;&#160;&#160;&#160;documents.cookie&#160;=&#160;name&#160;+&#160;&#34;=&#34;+&#160;escape&#160;(value)&#160;+&#160;&#34;;expires=&#34;&#160;+&#160;exp.toGMTString();&#160;&#160;&#160;&#160;location.href&#160;=&#160;&#34;Read.htm&#34;;&#160;//接收页面.}&#60;/script&#62;
Read.htm
&#60;script&#160;language=&#34;javascript&#34;&#160;&#62;function&#160;getCookie(name){/*&#160;*&#8212;&#8212;&#8212;&#8212;&#8212;&#160;getCookie(name)&#160;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#160;*&#160;getCookie(name)&#160;*&#160;功能:取得变量name的值&#160;*&#160;参数:name,字符串.&#160;*&#160;实例:alert(getCookie(&#34;dansion&#34;));&#160;*&#8212;&#8212;&#8212;&#8212;&#8212;&#160;getCookie(name)&#160;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;&#160;*/&#160;&#160;&#160;&#160;var&#160;arr&#160;=&#160;documents.cookie.match(new&#160;RegExp(&#34;(^&#124;&#160;)&#34;+name+&#34;=([^;]*)(;&#124;$)&#34;));&#160;&#160;&#160;&#160;if(arr&#160;!=null)&#160;return&#160;unescape(arr[2]);&#160;return&#160;null;}alert(getCookie(&#34;dansion&#34;));&#60;/script&#62;
]]></description>
		<wfw:commentRss>http://www.dansion.com/blog/xhtmlcss/js-cookie.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

