CSSASSCSSASS

三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之
三人行必有我师焉,择其善者而从之,其不善者而改之

  参与《阿凡达》项目 作者:ONEBOYS    发表时间: 2010年08月3号,星期二     阅读:1,780 次  

刚看完一本科幻短片《海水高山》,大刘的作品。

“山无处不在”,宇宙浩瀚无边。攀登探索是人类骨子里的东西。
我们一生会放弃许多,但坚持的东西一旦放弃,那我们还能拥有什么呢?

(所以我坚持着闷骚 *V* )


PS: 如何使用一张照片生成3D动画。
选择一:http://labs.mppark.jp/hige/ (在线应用)
选择二:CrazyTalk (桌面软件)

   

  offsetX/Y for Firefox 作者:ONEBOYS    发表时间: 2010年07月29号,星期四     阅读:1,689 次  

现在的相册大多有这个功能,鼠标点在照片的左边,可以跳到上一张,点到右边则跳到下一张。
这就需要一个坐标点的计算:(鼠标相对图片的位置) vs (图片的尺寸/2)。
后一个(图片的尺寸/2)简单,使用obj.offsetWidth/2。
前一个(鼠标相对图片的位置)好像也简单,有个事件属性叫 event.offsetX。
但是很悲剧,firefox并不支持offsetX!

我们要做的就是将offset计算出来,它的值应该等于【鼠标相对窗口左边境的位置(即event.clientX)】减去【图片到窗口左边境的距离】。
莫非后一项(图片到窗口左边境的距离)就是obj.offsetLeft吗?

但是又悲剧,obj.offsetLeft并没有这么简单,他是相对于“offsetParent”的距离,即应该是距其上级中定位元素的距离(如果不存在这个元素,则相对于整个页面文档)。
更糟的是:对于ie6,ie7,obj.offsetLeft是相对其直接父级的距离——显然他们没有遵循标准。

经过以上分析,我们可以使用以下这个麻烦的办法:从触发元素开始到root节点为止,把各级offsetParent元素的offsetLeft加起来得到【图片到窗口的距离】。
对,排除投机的办法,唯有这样了。参见:Differences in the event object properties/methods(请搜索pageX)(这里你可以注意一下:当元素是定位元素时候,即relative/absolute元素。那私有属性layerX就等于非firefox浏览器下的offsetX——这便是投机的方法,但不失为一个简单的好方法。)

demo:

   

  两种常见的页面元素fixed/滑动效果。 作者:ONEBOYS    发表时间: 2010年05月21号,星期五     阅读:1,378 次  

第一个效果,国外网站用的挺多的。是种不错的用户体验设计。
元素在窗口移到某高度后开始有fixed效果。

众所周知,ie6不支持fixed属性。所以对其是特殊设置,拖动时会有抖动。
注意一下这里:var pos = document.documentElement.scrollTop + document.body.scrollTop;
这是兼容webkit的写法。webkit内核的浏览器下,document.documentElement.scrollTop值始终为0,document.body.scrollTop才有其意。而其他浏览器恰恰想反。

这里的方法只针对了单个元素。如果要应用到多个元素中(实际应用中不太常见吧),还要费些周折。
需要在绑定的方法tip上使用对象作为参数进行传递,对象则对应各个要fixed的元素。

第二种效果,国内用的比较多。特别是以前,一般都是做铺天盖地的浮动广告的。当然,这错不在方法,呵呵。

同样,这里只绑定了一个元素。而这种效果常常是要多个元素一起“飘”的,除了上面一样可以传对象外。
还有个方案:就是无限调用,而不是将方法绑定在window.onscroll 上。
即如下:

这个方案很常用,简单好用。只是效率上可能会被人说道。

   

  元素的拖动效果 作者:ONEBOYS    发表时间: 2010年05月13号,星期四     阅读:1,864 次  

先看一下普通的拖动元素的代码

非常简单。

考虑一下边境问题:

如果拖动层内有元素不允许拖动。可以绑定一个事件,阻止拖动处理函数的执行。

图片的drag&drop需要注意浏览器中在拖动图片时候会有默认动作的,拖动带链接的内容也是。所以拖动这些内容时应阻止其事件。(下面拖动代码略有差别)