载入中…

文章标签 ‘主题’

折腾相册zenphoto主题

2011.09.13 | 天气: | 标签: , , , , , , ,

相册地址http://mengzhuo.org/album/

某卓认为,中秋之夜是写代码的好时候,所以就开始改进相册的主题,改进开始后才发现zenphoto的结构真是让人觉得蛋疼,类极其难用,类似wordpress的结构却不伦不类。

比如,输出相册封面的函数叫printCustomAlbumThumbImage,够长吧,参数也够长的,有十个这么多,还都得NULL过去,这样也就算了,缩略图还给整个写死了高宽,找函数底层才发现,这帮娃竟然也写死了这些参数,还得自己重新调用,缩略图都是一样蛋疼。还好,他们的默认主题比较完善了,jQuery也默认加载,所以,放心调用啦。

动画方面,相当给力,自创了“随手丢”一般的照片特效(自己进相册里看效果吧),基本都是CSS3+jQuery实现的,所以各位IE8以下的孩子就没有眼福啦。

改进完了才发现–我这人讨厌照相……有个相册没有用!希望自己以后能多照点啊才是啊。

飞机云-JS动画-HTML5小实践

2011.05.01 | 天气: | 标签: , , , ,

觉得静态的飞机云不够美,干脆搞成动态的,原理还是很非常简单,对背景的偏移量做出调整,用了JQuery选择器(这东西太好用了)和HTML5的本地存储(来保持动画的一致性)。
最终效果图 演示地址

首先准备两张背景图(GIF的alpha质量有问题,用了透明的PNG,IE6核心的直接无视了)

然后开始码代码

function head_animate(){
//speed = Math.round(618*Math.sin((i/114)));这条是实验渐入样式,发现不好看,姑且留着
var x = localStorage.offset_x;
var y = localStorage.offset_y;
speed = 3820-y;
x-=3;y--;//为什么是3:1请看下面的注意
localStorage.setItem('offset_x',x);
localStorage.setItem('offset_y',y);
x_y=x+'px '+y+'px';//Jquery对于简写的属性两个以上的变量不支持,所以用拼字符串
$('#page').css( {backgroundPosition: x_y} );
//$('#head_s i').html(' i:'+i + ' speed:'+speed );
if (y > 14){
//距离顶部还有14px的时候停下
var ht=setTimeout('head_animate()',speed);
//速度会越来越慢
}
}
/*Jquery的启动*/
$(document).ready(function(){
//header animate
//这两个是我主题的偏移量
if(('localStorage' in window) && window['localStorage'] !== null){
var x = localStorage.offset_x;
var y = localStorage.offset_y;

if (x == null || y == null){
//首次启动
x=628;y=110;
//存储值
localStorage.setItem('offset_x',x);
localStorage.setItem('offset_y',y);
}
var ht=setTimeout('head_animate()',5000);

}
else{
//IE!老浏览器随便给个地方算了
$('#page').css( {backgroundPosition: '500px 40px'} );
}
});

需要注意的是飞机云图片的角度,因为电脑是一个个像素点组成的,不能用非整数,用非整数的话飞机云就会跳动起来。角度折换成图片的宽高比,我的是3:1(1:1即45度效果是最好的,但是对头部的高度要求不是一般的高)。飞机云可以在最后放上渐变到消失,不过我现在还没这样的打算哈,因为这样图片会大得多。

因为使用HTML5的本地存储,所以飞机云一旦飞到一定高度之后以后永远停在上面了,所以哈,同志们朋友们要视这玩意作为陪衬哈

参考了 丸子的HTML5本地存储

调整成全站使用Jquery

2011.03.31 | 天气: | 标签: , , ,

Jquery这个东西实在太好,不管是动画、选择器、还是各种属性读取,真的应证了他的格言“Write Less Do More”,搞得我都觉得现代浏览器都应该默认本地存储这玩意,然后下一代浏览器应该拿这玩意做标准。相比之下,CSS3不好好干他的事,跑来搞动画,真是不知道又会有怎样的一场口水战了。
昨晚在士兵同学的刺激下,今晚一咬牙把烂尾工程做完了。
在强大的Jquery下,我之前几乎所有的Javascript的文章就像垃圾一样 = -||

  • 比如:《博客调用QQ昵称的歪门邪道》
    直接用JSON调用秒杀了……代码还出奇地简单
    $.getScript('http://r.qzone.qq.com/cgi-bin/user/cgi_personal_card?uin='+t_author);
    后面……真的就没有后面了……这样一来,QQ昵称调用次数的限制就是无限了。
  • 再比如:《wordpress侧栏评论改装》更垃圾
    直接$('.shide').hide(0);就解决了多余的评论暂时不显示的问题了。
    事件触发更加,以前是每条评论HTML上加监听,现在倒好,两行解决$('.rc_com').bind('mouseover',function(){
    $(this).children('.shide').toggle('fast');}
  • 我一直头疼的GRAvatar调用问题倒是正好在1.5版本里解决了,用了这个
    $.ajax({statusCode: {XXX: function (){ }}});对,没看错!正是AJAX里梦寐以求的HTTP statusCode响应 我只用了一个,即一切正常的200,大家能看到显示完的网页都是因为所有的HTTP statusCode都是 200)

这次改函数库倒是还搞清楚了什么callback……其实就是……菜鸟我还是举个伪程序的例子吧

  • 如果:小明亲小红
  • (小红)亲(小白)
  • (小红)打(小刚)

假设“亲”就是要callback的事情
变成函数版就是:
function (小明)亲(小红){(小红)打(小刚),callback:(小红)亲(小白);}
当然这里不觉得有什么好,等小红和大家玩了其他很多游园项目后(程序继续写下去了)的时候,你还想知道小明亲了小红后发生了什么?就像那个俄国间谍偷到美国航天飞机发射程序,看见N个“}”结束符,晕了吧。所以写程序还是多多callback一下比较好,以前一直觉得很深奥,自己悟出来了觉得怎么这么简单……

不过我代码写得少了、动画更炫了,载入的时候各位就要受罪了,要多28K的JQuery库要下载,所以我说应该把Jquery加到所有浏览器里!

评论栏之UCD

2010.10.01 | 天气: | 标签: , , ,

首先要在这个日子感谢国家,评论栏是Wordpress让我不爽的地方之一,填错不填总是没有提示,提交了以后才提示出错,早告诉我不就好了?Wordpress后台倒是很先进,都用了AJAX了(比如说两篇文章名字一样会给你加1)。寻找了插件无果后——只好自己写了,罪魁祸首都是图书馆里那本UCD火花集(UCD-User Central Design-说白了就是让东西更好使)。正则没技术地用着,难受的是不能用\w+,javascript怎么也不认(不知道怎么回事……)。

ucd_result

理论上应该是这样

废话不说了,围观下面的评论栏吧。优点:

  1. 邮箱无效提示
  2. 名字空提示
  3. 根据邮箱自动填写评论名字(提速至少3秒)
  4. 自动帮填网址(如果不是常见邮箱提供商)(提速至少5秒)
  5. “更多表情”不需要点了
  6. 评论过的自动识别(这个很久以前就启动了…)

缺点:

  1. 未知(IE没测试过,应该也没问题,简单的Javascript而已)
  2. UCD本来就是有争议的东西,毕竟人和人看法不一。
  3. 安全性没有测试过(应该不会引起什么溢出漏洞)

下一步应该是插件化放到Wordpress(还不会写插件……)。好吧大家请尽情虐待那些代码吧,出错了或者是有啥建议就吱一声。

终于搬迁成功了

2010.02.05 | 天气: | 标签: , , , ,

乖乖……没想到换个blog到另一个地址下是这么困难的一件事……昨晚上搞到1点多钟,现在才醒……

数据库,文件迁移都太容易了,就换了换。可是那个正则表达式根本不是人类能看懂的,所以没办法全自动把文章里所有的图片地址,FEED地址等迁移过去(换域名只是跳转一下就可以了) :cry: 。只好一个个地在phpmyadmin里用搜索的方法找出来MySQL里所有的org/?的东西,手动更改,记得没错一共是174条,每条里面大概有5个这样的记录,共计600多条,幸好gedit里的查找替换(很笨地复制文章源代码,替换以后再粘回去)省了一点力气,要不然搞到天亮都不行……

接下来就是忍过阵痛期了,新的简陋的404页面拉出来,向谷鸟提交了新的sitemap,豆瓣没办法删除博客,只好重新提交了一份……倒是那个什么人人网的提取器技术含量真是太低了(删除我的超链接就算了……),竟然提取的是原始GUID的feed地址,不像豆瓣和谷鸟的自然流地址,果然FLASH漫天的网站不是啥正经搞技术的网站。

所以,欢迎来到新博客地址http://mengzhuo.org/blog/

ps:那个什么屏风悲剧了,CSS里font-size:漂亮地用em属性,和定位用的”%”,以为这样通用性更好一点,可惜IE统统不认了,只好再做css hack了……真想看半成品的话可以用Firefox、opera等遵守W3C标准的浏览器看吧……很简洁,简洁到只有1.4kb.地址是http://mengzhuo.org