手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >非jQuery实现照片散落桌子上,单击放大的LightBox效果
非jQuery实现照片散落桌子上,单击放大的LightBox效果
摘要:效果图如下Demo地址http://xueduany.github.io/KitJs/KitJs/demo/Lightbox-Gallery...

效果图如下

非jQuery实现照片散落桌子上,单击放大的LightBox效果1

非jQuery实现照片散落桌子上,单击放大的LightBox效果2

Demo地址http://xueduany.github.io/KitJs/KitJs/demo/Lightbox-Gallery/demo.html

实现原理很简单,基本的html如下

复制代码 代码如下:

<div id="gallery">

<div>

<a href="img/original/blue-green-nature.jpg" target="_blank"><img src="img/thumbs/blue-green-nature.jpg"></a>

<div>

blue-green-nature

</div>

</div>

<div>

<a href="img/original/2-breast-stroke.jpg" target="_blank"><img src="img/thumbs/2-breast-stroke.jpg"></a>

<div>

2-breast-stroke

</div>

</div>

<div>

<a href="img/original/farm.jpg" target="_blank"><img src="img/thumbs/farm.jpg"></a>

<div>

farm

</div>

</div>

<div>

<a href="img/original/bahnhoff.jpg" target="_blank"><img src="img/thumbs/bahnhoff.jpg"></a>

<div>

bahnhoff

</div>

</div>

……

先定义一块桌布,也就是div id=”gallery”

然后按照顺序,排列一竖列相册,div class=”item”,里面用一个a链接把图片包起来

接下来,我们要实现相片的分散效果,

复制代码 代码如下:

$k(function() {

$k('.item', $k('#gallery')).each(function() {

$k(this).css({

top : $kit.math.rand($k('#gallery').innerHeight()) + 'px',

left : $kit.math.rand($k('#gallery').innerWidth()) + 'px',

'-webkit-transform' : 'rotate(' + $kit.math.rand(-40, 40) + 'deg)'

});

})

这里的是$k是kit的写法,类似jQuery的$,API完全一样,这段代码的意思是找到所有item的div,设置为绝对定位,用桌布高宽,生成随机数,排列,对于css3,使用css3特有的旋转效果'rotate属性,旋转一定角度

这个时候,相片就开始分散开了,达到了图1的效果,接下来我们要做一下LightBox的效果,

复制代码 代码如下:

$k(function() {

$k('.item', $k('#gallery')).each(function() {

$k(this).css({

top : $kit.math.rand($k('#gallery').innerHeight()) + 'px',

left : $kit.math.rand($k('#gallery').innerWidth()) + 'px',

'-webkit-transform' : 'rotate(' + $kit.math.rand(-40, 40) + 'deg)'

});

}).pushStack('a.kitLightBox').each(function() {

new $kit.ui.LightBox({

el : this

}).init();

});

});

完整代码如上,对于每个图片的a链接,使用kitjs的lightbox UI widget实例化,得到的效果就能点击,动画效果的打开图片大图了。^_^祝各位使用愉快!

LightBox源代码https://github.com/xueduany/KitJs/blob/master/KitJs/src/js/widget/LightBox/lightbox.js

相片分散效果源代码https://github.com/xueduany/KitJs/blob/master/KitJs/demo/Lightbox-Gallery/demo.html

本文是基于KITJS框架来实现的,小伙伴们如果不是很了解,那么后续文章,我们来详细介绍下这款非常棒的js框架。

【非jQuery实现照片散落桌子上,单击放大的LightBox效果】相关文章:

jquery实现图片左右切换的方法

jQuery实现表格行上移下移和置顶的方法

js+cookies实现悬浮购物车的方法

jQuery插件Slider Revolution实现响应动画滑动图片切换效果

jQuery实现文本展开收缩特效

javascript实现图片跟随鼠标移动效果的方法

jQuery实现页面内锚点平滑跳转特效的方法总结

纯javascript实现四方向文本无缝滚动效果

javascript实现带下拉子菜单的导航菜单效果

Javascript实现飞动广告效果的方法

精品推荐
分类导航