Follow me on GitHub

框架发表的日志

JavaScript 框架

由于不同 Web 浏览器所支持DOM标准版本不尽相同,与 HTML 和 CSS一样,不同的浏览器有不同的 JavaScript 实现方式。这使得早期 JavaScript 代码实现跨浏览器兼容成为一场噩梦。

就拿网站右下角常见的浮动提示框举例:

  1. 首先,必须通过判断getElementById() 方法存在与否来决定是用document.getElementById(“floater”).style还是document.floater方法进行浮动框定位;
  2. 要想把浮动内容固定在右下角,脚本需要知道可用页面的宽度和高度,这时又得考虑不同浏览器上访问这些对象的方法也存在window.innerHeight和document.body.clientHeight的差异;
  3. 针对上下或左右滚动页面时浮动内容也需要随着页面移动,又需要考虑是用window.pageXOffset方法还是document.body.scrollLeft方法。。。

而使用JavaScript 框架就清净多了,比如jQuery就有专门的Floatbox库扩展,一句$.floatbox({content: “xxxx” );就能搞定,要是心情好还可以考虑是否加入渐变效果啥的,jQuery库在众多流行的 Web 浏览器版本上进行了可靠性测试,我们可以放心地使用这些框架,产生的JavaScript代码将会在不同浏览器和平台上以类似的方式工作。 More >

MooTools 1.3中的屏幕触摸事件

MooTools在其最新的1.3版本中加入了一个很给力的功能——检测屏幕触摸事件:touchstarttouchmovetouchendtouchcancelgesturestartgesturechangegestureendorientationchange,使得这一Javascript框架更加完善。这篇文章就演示如何按照传统MooTools事件处理的语法,通过使用MooTools新特性来完成对移动事件的监听及响应。让移动设备用户在你的网页上完成原本只能在手机应用上进行的操作。

先看演示:必须用手机浏览器才有效果哦~.

前两个是点击屏幕产生的,后面一列是滑动产生的,电阻屏,只能记录到这些啦。。。 More >

ThinKPHP学习笔记-2

第一个问题:在JS中调用TP定义的几个常量如 __URL__、__APP__ 时出现的问题:
TP给我们定义了这些常量确实挺好用,在模板中调用的时候感觉非常舒服。但是,这仅在模板,在JS中就不是那么回事了,看一下如下的关键代码:

$.ajax(
{
type:”post”,
url:”__URL__/checkLogin”
}
);

怎么使用都错误,用Firebug一看,发现递交的地址类似于http://xxx.com/__URL__/checkLogin,压根就没有解析,解决办法就是在模板文件,也就是html文件中,写入定义JS全局变量的语句,也就是这样子

现在你可以在相关JS文件中使用这些全局变量来代替路径了,比如上面的ajax提交就可以这样子写 More >

ThinkPHP学习中碰到的5问题

最近都在学习ThinkPHP框架,出来透透气,学习过程中碰到一些疑问,跟大伙讨论一下

缓存相信大家或多或少都有一定的应用,但一般我们应该什么时候用到缓存,如何有效的利用缓存,不知道大家有什么见解,呵呵。

我们现在做到项目是ThinkSNS系统的二次开发,这种项目应该怎样进行缓存才能达到最优的效果,我现在的做法是,尽量的将一些数据直接放入文件中,利用聚合技术,将数据库中的一些分散项目存入文件,然后读取的时候直接从文件读取,而不经过或者少经过数据库,这样是不是更有效些呢?

跟大家效流一下用到的几个技术:


1.数据库缓存:

  1. function get_dbdata($table,$condition=”,$encache=1,$cache_life=-1)
  2. {
  3. if($table==”){return false;}
  4. $table=ucfirst($table);
  5. $is_cache=($encache==0)?true:false;
  6. //$encache的作用:0-不用缓存数据 1-缓存数据 2-强制更新缓存
  7. if(1==$encache) More >
移动设备浏览当前页