2013-05-瀑布流效果的制作

这个图片墙是动态瀑布流,思路是:

1.动态计算用户视窗的宽度,计算出可显示多少列的图片;

2.监听滚动条的变化,动态算出滚动时最短的是哪一列,当最短列底部露出后,用$.getJSON()方法获取新的一批图片,并遍历每一个图片,将新图片添加到最短列中(这时最短列是动态的啦)。

3.监听视窗大小变化,动态算出窗口的新宽度值,重新对图片进行排列,并使用了动画效果。

核心代码也有点长,就不贴出来了,直接看源码呗,我写满了注释O(∩_∩)O~ Demo

//—2013-05-09-优化————————————————————————————————————————————

上面这个Demo,有一个细节,就是图片原始大小,是json文件里定义好的,即原图片大小本地计算好后写在json里,调用时直接使用了jData.width和jData.height属性,可我这样就没有灵活性了。

合理的思路是这样的:json只存储图片路径,然后使用JS去获取图片的原始尺寸进行等比例缩放。

查阅资料后确实JS发现有Image()对象,可以获得图片的原始尺寸:

[javascript]
var objImg = new Image();// 新建Image对象,获得原始图片的尺寸,增大了灵活性
objImg.onload = function() {
var iHeight = objImg .height * (iWidth / objImg .width); // iWidth恒定,使用原图片尺寸计算并设置等比例缩放后的图片高度</p>
}
[/javascript]

需要注意的是,这些计算需要放在onload函数中,保证计算时,图片已经加载完成,否则会得到iHeight为0。

可直接看源码,找到修改的地方理解,Demo2

天酬勤·笨先飞

 

天道酬勤,一直坚信这个道理。

笨鸟先飞,一直坚持这个姿态。

我一直在模仿理想中的自己,却从未超越过。

也许,这就是动力。

 

 

我二十一了。

昨天凌晨零点,@大花 一句准时的「生日快乐」把我吓到,因为我真忘了。

弱冠已过,责任更多。我不想阐述自己的家境去获取支持,只想尽快获得一股力量,在日后能维护这篇支离破碎。

希望不再增悲。

 

我二十一了。

今天晚上十点,我刚从北校回到宿舍,收到几条生日祝福的短信,想想,就这么过了。

青春将逝,年华不悔。我真希望自己的努力付出能早日获得回报,让我有份信心能承起一些担当。

希望如愿以偿。

 

我二十一了。

我还一无所有,我仍一无所获,我仍一无所知,我仍是一直笨鸟。

但,我一直在坚持,坚持一个信仰。

等我羽翼丰满,我再亮英姿。