博文

目前显示的是 四月, 2007的博文

开始接触一下python,先放一点资料点..

早就耳闻到这个东西好用了的... 一直都想找时间看看,可惜一直没有见识到它真正的强大.. 这几天和hiei合作写程序,终于可以见到它的庐山一角,了解到它的强大了.. 果然是太拘泥于网页编程是不行的呀,还是要学习一下实用的工具才好 就这样,从现在开始好了~ 当然,首先是官方网站: http://www.python.org/ 基本上支持了全部的平台,我现在没办法用虚拟机,所以在用Win32下的Python了,不过那个GUI的工具还真的是慢...基本上还是依赖Command line了.. 这个算是教科书站点: http://man.chinaunix.net/ 以上,走出了第一步...

关于正则表达式...

说老实话,虽然一直在用正则,一直在写正则,但是还是没有完全的把它参透.. 今天就是,碰上问题了,无法在PHP中使用开头和结尾断言.. 结果半天才想起来要这样用{^$} 结果再想想我一直要用//把内容包括起来,又是为什么呢...不理解了-__- 然后就是现在才记起来,如果要求输入一个大的范围其实是这样写的: [a-zA-Z0-9] 我还一直以为要加来间隔...果然还是未够班啊...

让我怎么说你好,setTimeout()和clearTimeout()

这俩函数,一个是延时循环执行函数,一个是解除执行函数. setTimeout()的作用是让程序一段时间内反复执行,带的参数一个是函数,后面一个是毫秒数(1000为1秒) 现在的要求是:需要延时执行一个让层消失的函数,但是当这个函数还在排队执行的过程中,一个新的函数执行,一个让新的层出现的函数..但是让新的层出现又需要延时,但是在新层出现之前,又会调用clearTimeout()来解除之前不断循环的让层hide的函数,否则层不可能显示出来.但是延时函数还在延时的过程中,所以还没有顺利的让层消失就被取消掉了.. 因此出现了连续存在但内容变化的层,但是如果要让层顺利的消失,又考虑消失等待的话,就又需要一个延时函数来执行解除执行的函数,但是这个延时解除执行函数的函数又需要一个解除执行的函数来来解除,而且还不能解除的太快..因此又需要延时...如此反复...orz 我说...Javascript里面就没有一个单纯的执行延时的函数么?为啥非要搞个不断执行...难道这样很方便么...仅仅只是少些了一个while(1)循环而已...orz 现在唯一的解决方式就是在clearTimeout()之外放一个死循环反复的判断层是否已经消除,如果消除了则执行clearTimeout()并且break掉...真麻烦,估计看页面卡的都不行了...orz

attachEvent() / addEventListener() 对象添加触发事件(转)

attachEvent() / addEventListener() 对象添加触发事件(转) 有时候当某一对象的某一事件被触发时,它所要执行的程序可能是一大串,有可能是要呼叫某一函数,也有可能同时又要呼叫另一函数。 document.getElementById("btn").onclick = method1; document.getElementById("btn").onclick = method2; document.getElementById("btn").onclick = method3; 如果这样写,那么将会只有medhot3被执行 在IE中使用addachEvent , var btn1Obj = document.getElementById("btn1"); //object.attachEvent(event,function); btn1Obj.attachEvent("onclick",method1); btn1Obj.attachEvent("onclick",method2); btn1Obj.attachEvent("onclick",method3); 执行顺序为method3->method2->method1 Mozilla系列中需要使用 addEventListener var btn1Obj = document.getElementById("btn1"); //element.addEventListener(type,listener,useCapture); btn1Obj.addEventListener("click",method1,false); btn1Obj.addEventListener("click",method2,false); btn1Obj.addEventListener("click",method3,false); 执行顺序为method1->method2->method3 看看gmail的代码 var Ka=navigator.us

昨天被捣鼓死了...

一直在捣鼓IE 6.0下的表现问题,因为盒模型的问题结果导致IE 6和IE 7显示效果不同. 结果是:IE 7=FF 2=Opera 9.2的显示效果,IE 6是独立独行... 试过了N种CSSHack甚至IE才能识别的CSS选择器,结果发现...无效... 加上还需要远程求人帮忙调试,真是痛苦无比,到最后才发现这个地方: http://browsers.evolt.org/?ie 基本上涵括了全部版本的IE浏览器的绿色版下载...调试者的福音啊~ 解决了调试困难的问题,开始专注于表现问题.. 试过了无数的方法,理论上其实用!important属性就应该可以搞定的,因为IE 7已经修正了这个属性了,理论上它的表现应该是等同于FF了,但是实际中我发现,他的表现竟然和IE 6一样的...半拉子糟糕.. 什么叫半拉子糟糕,意思就是说可以识别,但是还是没用...比如: div{ color: #FFF !important; color: #000; } 在IE 7和IE6中均识别为#000,而FF和Opera可以顺利识别为#FFF 但是如果这样写: div{ color: #FFF !important; } div{ color: #000; } 那么,在IE 6和IE7中均识别为#FFF... 呵呵,可能专业人士要发话了,"这怎么可能!",但是我发现就是可能的,在处理XHTML的时候确实没有这个问题,但是在处理XSL的时候...就变成了这样的半拉子状况.. 而且类似*+HTML,*DIV,_#,*HTML,这类的可以用在HTML中的Hack统统在XSL中失效了... 绞尽脑汁没结果的状况下,我决定利用已知的BUG,把IE 7和IE 6的表现统一,然后再用important属性来区分IE系列和其他浏览器...结果,把宽度改为100%,把float属性去掉,用margin居中...竟然就OK了...然后对FF使用important让width变为auto...世界就这样和谐了... 简直是无语...白白浪费了我一个晚上的时间...

继续学习充电

图片
这次是关于Tab标准化布局的心得...之前发现怎么样也无法吧表格之间的间隙去掉,无论怎么样做出来的都是双线的表格,后来发现原来是要这样解决: tab的属性: border-collapse:collapse; border-color:#999999; 内部表格的属性: border: 1px solid #999999; 这样就OK了,还害得我捣鼓半天.. 还有就是关于PHP直接echo出XML文件的问题,现开始直接echo怎么都无法输出XML文档,输出格式都是正确的,但是浏览器并不识别为XML,后来终于发现...原来是Header的原因.只要在PHP的输入头文件修改Header就好了,语句是: header('Content-Type: text/xml'); 这样就不需要PHP 4.x的版本打开一些特殊的XML类来生成类了,直接echo就好了,但是解析还是存在问题就是了...不过解析也可以用正则来完成的...具体可以查看IBM站的这帖,写的很基础 http://www.ibm.com/developerworks/cn/opensource/os-xmldomphp/ 现在所需要做的就是实现鼠标移动到对应表格之后的浮动效果了... 结果找到这么一个站: http://www.dyn-web.com/ 实在是太强大了...orz JS原来还可以实现这么多功能...我算是开了眼界了...以后看来需要恶补一下JS的编写了..orz 不过美中不足的是,有加密....不允许使用在非Localhost的站点上..不过JS最多也就是一个16进制的加密而已,随便就搞定了,上网,找了一个JS的16进制转换器,OK了~ 这个是存档,下载这张图片然后把扩展名改为RAR即可解压.. 另外就是在XSL中加载JS文件和直接写入JS的问题.. 加载要使用: <script src="'"></script> 而直接写入JS需要: <script langauge="'"> <![CDATA[ ..................... ]]> </script> 有些地方会画蛇添足的给中间再加上XSL的注释,但是这样的话FF反到不能识别了(FF是矫枉过正..内

XML+XSL学习...

其实就是在一步一步的学习XSL了... 第一个是发现编码的问题....页面编码要指定为UTF-8的话,除了改变XML的编码之外,同时,XSL的头应该这样写: <xsl:stylesheet version="1.0" xsl="http://www.w3.org/1999/XSL/Transform"> 不可以加那个 <xsl:output version="'1.0'" method="'html'" encoding="'UTF-8'" indent="'yes'/"> 具体原因不明 再就是处理换行的问题,最佳的解决方式: xml: hello world hello csdn 对应的xsl: <xsl:stylesheet version="1.0" xsl="http://www.w3.org/1999/XSL/Transform";> <xsl:template match="/"> <html> <body> <xsl:apply-templates select="根/内容"> </body> </html> </xsl:template> <xsl:template match="br"> <xsl:copy-of select="."> </xsl:template> </xsl:stylesheet> 其实就是定义了一个特殊的模板来匹配br字符,然后在对应所需要转换换行的地方使用这个模板就好了