非jQuery實(shí)現(xiàn)照片散落桌子上,單擊放大的LightBox效果
效果圖如下
Demo地址http://xueduany.github.io/KitJs/KitJs/demo/Lightbox-Gallery/demo.html
實(shí)現(xiàn)原理很簡(jiǎn)單,基本的html如下
<div id="gallery">
<div class="item">
<a class="kitLightBox" href="img/original/blue-green-nature.jpg" target="_blank"><img src="img/thumbs/blue-green-nature.jpg"></a>
<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="img/thumbs/2-breast-stroke.jpg"></a>
<div class="desc">
2-breast-stroke
</div>
</div>
<div class="item">
<a class="kitLightBox" href="img/original/farm.jpg" target="_blank"><img src="img/thumbs/farm.jpg"></a>
<div class="desc">
farm
</div>
</div>
<div class="item">
<a class="kitLightBox" href="img/original/bahnhoff.jpg" target="_blank"><img src="img/thumbs/bahnhoff.jpg"></a>
<div class="desc">
bahnhoff
</div>
</div>
……
先定義一塊桌布,也就是div id=”gallery”
然后按照順序,排列一豎列相冊(cè),div class=”item”,里面用一個(gè)a鏈接把圖片包起來
接下來,我們要實(shí)現(xiàn)相片的分散效果,
$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,設(shè)置為絕對(duì)定位,用桌布高寬,生成隨機(jī)數(shù),排列,對(duì)于css3,使用css3特有的旋轉(zhuǎn)效果'rotate屬性,旋轉(zhuǎn)一定角度
這個(gè)時(shí)候,相片就開始分散開了,達(dá)到了圖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();
});
});
完整代碼如上,對(duì)于每個(gè)圖片的a鏈接,使用kitjs的lightbox UI widget實(shí)例化,得到的效果就能點(diǎn)擊,動(dòng)畫效果的打開圖片大圖了。^_^祝各位使用愉快!
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框架來實(shí)現(xiàn)的,小伙伴們?nèi)绻皇呛芰私?,那么后續(xù)文章,我們來詳細(xì)介紹下這款非常棒的js框架。
- jquery 單擊li防止重復(fù)加載的實(shí)現(xiàn)代碼
- 使用JQuery和CSS模擬超鏈接的用戶單擊事件的實(shí)現(xiàn)代碼
- Jquery為單選框checkbox綁定單擊click事件
- jQuery 全選/反選以及單擊行改變背景色實(shí)例
- jquery禁用右鍵單擊功能屏蔽F5刷新
- jQuery實(shí)現(xiàn)單擊按鈕遮罩彈出對(duì)話框(仿天貓的刪除對(duì)話框)
- jQuery+ajax實(shí)現(xiàn)鼠標(biāo)單擊修改內(nèi)容的方法
- jQuery+ajax實(shí)現(xiàn)鼠標(biāo)單擊修改內(nèi)容的思路
- 一款基jquery超炫的動(dòng)畫導(dǎo)航菜單可響應(yīng)單擊事件
- jQuery實(shí)現(xiàn)多按鈕單擊變色
- jQuery實(shí)現(xiàn)單擊和鼠標(biāo)感應(yīng)事件
相關(guān)文章
JavaScript實(shí)現(xiàn)動(dòng)態(tài)留言板
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)動(dòng)態(tài)留言板,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-03-03IE圖片緩存document.execCommand("BackgroundImageCache",
IE6下設(shè)置背景圖片是不會(huì)被真正cache住的,就算服務(wù)器做了cache,如果想cache住只能2011-03-03利用js 進(jìn)行輸入框自動(dòng)匹配字符的小例子
制作論壇用到的輸入框~想模仿百度之類的寫一個(gè)自動(dòng)匹配字符2013-06-06JavaScript 替換所有匹配內(nèi)容及正則替換方法
這篇文章主要介紹了JavaScript 替換所有匹配內(nèi)容,文中給大家提到了使用正則表達(dá)式替換方法,通過實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下2020-02-02Threejs與Tween.js結(jié)合創(chuàng)建動(dòng)畫的詳細(xì)圖文教程
three.js和tween.js可以一起使用,實(shí)現(xiàn)復(fù)雜的動(dòng)畫效果,包括飛線動(dòng)畫,這篇文章主要給大家介紹了關(guān)于Threejs與Tween.js結(jié)合創(chuàng)建動(dòng)畫的相關(guān)資料,需要的朋友可以參考下2024-01-01