純JS打造比QQ空間更強大的圖片瀏覽器-支持拖拽、縮放、過濾、縮略圖等


在線演示地址(打開網頁后,點擊商家圖冊):

http://www.sport7.cn/cc/jiangnan/football5.html

 

先看一看效果圖:

 

該圖片瀏覽器實現的功能如下:

1. 鼠標滾輪縮放圖片;

2. 鼠標拖動圖片;

3. 點擊放大/縮小圖標可以切換為原始大小和最佳只存模式;

4. 點擊左右箭頭可以進行翻頁;

5. 點擊縮略圖顯示大圖;

6. 縮略圖支持左右箭頭分頁,自動分頁到選中的圖片;

7. 右側圖片過濾;

8. 按ESC鍵自動退出圖片瀏覽器。

 

想知道怎么實現的?那的先看看頁面都加載了哪些JS。首先使用chrome瀏覽器打開頁面之后,按下F12,查看JS文件列表如下:

 

除了jQuery和jQueryUI和統計JS文件外,自己寫的JS只有2個文件。ydx.core.js是整站通用JS文件,而schedule.js才是該頁面JS。細心的你可能已經發現了,該頁面除了包含非常強大的圖片瀏覽器以外,還有功能復雜的預定功能。這么復雜的JS是如何架構的呢?答案就是grunt。

 

點擊schedule.js 發現該文件已經被壓縮混淆了。如下圖:

 

是的,這是一個production站點的基本要求。

 

在我們的JS代碼架構中,這個schedule.js由多個JS文件組合而成,每個JS源文件都小巧易讀容易維護。看看grunt文件其中某一部分的配置吧:

... ...
company: {
                index: [libs.publics.imageviewer, libs.publics.companyNavManager, libs.slider, libs.imageZoomer],
                category: [libs.publics.imageviewer, libs.publics.companyNavManager, libs.slider, libs.imageZoomer],
                schedule: [libs.publics.imageviewer, libs.publics.companyNavManager, libs.slider, libs.imageZoomer, libs.dropdown]
            }, 
... ...

 

怎么樣,是不是非常優雅?

 

如果你對架構超復雜JS項目(或頁面)感興趣,可以看看這個github開源項目:https://github.com/leotsai/mvcsolution。該項目擁有完整的使用grunt搭建超復雜JS項目的例子。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM