效果图如下
Demo地址http://xueduany.github.io/KitJs/KitJs/demo/Lightbox-Gallery/demo.html
实现原理很简单,基本的html如下
复制代码 代码如下:
<div id="gallery">
<div class="item">
<a class="kitLightBox" href="img/original/blue-green-nature.jpg" target="_blank"><img src="/UploadFiles/2021-04-02/blue-green-nature.jpg">
<div class="desc">
blue-green-nature
</div>
</div>
<div class="item">
<a class="kitLightBox" href="img/original/2-breast-stroke.jpg" target="_blank"><img src="/UploadFiles/2021-04-02/2-breast-stroke.jpg">
<div class="desc">
2-breast-stroke
</div>
</div>
<div class="item">
<a class="kitLightBox" href="img/original/farm.jpg" target="_blank"><img src="/UploadFiles/2021-04-02/farm.jpg">
<div class="desc">
farm
</div>
</div>
<div class="item">
<a class="kitLightBox" href="img/original/bahnhoff.jpg" target="_blank"><img src="/UploadFiles/2021-04-02/bahnhoff.jpg">
<div class="desc">
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框架。
LightBox,照片散落
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
RTX 5090要首发 性能要翻倍!三星展示GDDR7显存
三星在GTC上展示了专为下一代游戏GPU设计的GDDR7内存。
首次推出的GDDR7内存模块密度为16GB,每个模块容量为2GB。其速度预设为32 Gbps(PAM3),但也可以降至28 Gbps,以提高产量和初始阶段的整体性能和成本效益。
据三星表示,GDDR7内存的能效将提高20%,同时工作电压仅为1.1V,低于标准的1.2V。通过采用更新的封装材料和优化的电路设计,使得在高速运行时的发热量降低,GDDR7的热阻比GDDR6降低了70%。