WIN10-UI v1.1.2.5開(kāi)源項(xiàng)目介紹及下載——墨澀網(wǎng)
WIN10-UI介紹
Win10-UI是一款win10風(fēng)格的后臺(tái)UI,讓您輕松搭建一個(gè)別具一格的后臺(tái)界面。
官網(wǎng):
http://win10ui.yuri2.cn/
演示地址:
http://win10ui.yuri2.cn/src/demo
開(kāi)源地址:
https://github.com/yuri2peter/win10-ui
版本
v1.1.2.5
該版本修正了兩個(gè)煩心的小bug。對(duì)于1.1.2.3版本的老用戶,替換該版本的win10.js文件即可。
WIN10-UI
預(yù)覽特性
- Win10的動(dòng)態(tài)磁貼,可定義方塊大小,添加隨機(jī)動(dòng)畫
- 桌面圖標(biāo)自動(dòng)排序
- 任務(wù)欄結(jié)合iframe子窗口,與windows一致的窗口管理體驗(yàn)
- 開(kāi)始菜單+消息提示中心,滿足后臺(tái)UI的設(shè)計(jì)需求
- 極少的API,大部分功能可用html元素定義完成
- 響應(yīng)式兼容,在手機(jī)瀏覽器也有不錯(cuò)的觀感
- 目前只保證對(duì)主流現(xiàn)代瀏覽器的兼容性支持
前置組件
- layer(v3.0.3)
- animated.css
- jquery(v2.2.4)
- font-awesome
快速入門
如何自定義桌面圖標(biāo)?
<div id="win10-shortcuts">
<div class="shortcut" onclick="//do something...">
<img src="圖片地址" class="icon" />
<div class="title">圖標(biāo)底部文字</div>
</div>
<div class="shortcut" onclick="//do something...">
<div class="icon">自定義任意html內(nèi)容</div>
<div class="title">圖標(biāo)底部文字</div>
</div>
</div>
圖標(biāo)應(yīng)設(shè)置為圖片或自定義html填充div
如何自定義開(kāi)始菜單列表?
<div class="list win10-menu-hidden animated animated-slideOutLeft">
<div class="item">一級(jí)菜單</div>
<div class="item">一級(jí)菜單</div>
<div class="sub-item">二級(jí)菜單</div>
<div class="sub-item">二級(jí)菜單</div>
<div class="sub-item">二級(jí)菜單</div>
<div class="item">一級(jí)菜單</div>
<div class="item">一級(jí)菜單</div>
</div>
一級(jí)菜單添加類item,二級(jí)添加sub-item。不需要用一級(jí)菜單“包裹”二級(jí)菜單,將自動(dòng)識(shí)別二級(jí)菜單的歸屬,請(qǐng)注意排序。
如何自定義開(kāi)始菜單磁貼?
<div class="blocks">
<div class="menu_group">
<div class="title">磁貼組標(biāo)題1</div>
<div loc="1,1" size="1,1" class="block">
<div class="content">磁貼1</div>
</div>
<div loc="2,1" size="1,1" class="block">
<div class="content">磁貼2</div>
</div>
</div>
<div class="menu_group">
<div class="title">磁貼組標(biāo)題2</div>
<div loc="1,1" size="2,2" class="block">
<div class="content">磁貼3</div>
</div>
</div>
</div>
磁貼區(qū)域被分成若干小格,每一行最多6格。loc='x,y'中的x表示橫坐標(biāo),y表示縱坐標(biāo)(以左上方為1,1點(diǎn))。size='w,h'中的w和h表示格子的寬度和高度(以格為單位)。
API
- 調(diào)用:Win10-ui的api應(yīng)當(dāng)在其初始化之后被調(diào)用
<script>
Win10.onReady(function () {
//Win10-ui初始化完成后將執(zhí)行此處代碼
});
</script>
所有方法都需要加
Win10.
前綴。
- setBgUrl(bgs) 設(shè)置背景圖片
Win10.setBgUrl({main:'寬屏壁紙url',mobile:'豎屏壁紙url',})
- openUrl(url,title,areaAndOffset) ** 打開(kāi)一個(gè)子窗口,參數(shù)列表:url,標(biāo)題,[尺寸,區(qū)域](同layer的area和offset的設(shè)置格式,也可以傳入'max'強(qiáng)制最大化,例如
[['30%','30%'],['50px','50px']]
) - onReady(handle) win10-ui初始化完畢后的回調(diào)
- menuOpen() 開(kāi)始菜單打開(kāi)
- menuClose() 開(kāi)始菜單關(guān)閉
- menuToggle() 開(kāi)始菜單打開(kāi)/關(guān)閉
- commandCenterOpen() 信息中心打開(kāi)
- commandCenterClose() 信息中心關(guān)閉
- commandCenterToggle() 信息中心打開(kāi)/關(guān)閉
- renderShortcuts() 重新渲染桌面圖標(biāo)(可用與動(dòng)態(tài)添加或刪除了桌面圖標(biāo)之后)
- renderMenuBlocks() 重新渲染磁貼(可用與動(dòng)態(tài)添加或刪除了磁貼之后)
- buildList() 重新預(yù)處理菜單列表(可用與動(dòng)態(tài)添加或刪除了菜單項(xiàng)之后)
- newMsg(title, content,handle_click) 發(fā)送一個(gè)消息提醒,handle_click是點(diǎn)擊回調(diào)
- isSmallScreen() 如果屏幕寬度小于768px返回true,否則返回false
- setAnimated(animated_classes,animated_liveness) 用css的類來(lái)設(shè)置磁貼動(dòng)畫。animated_liveness設(shè)置動(dòng)畫的觸發(fā)概率(0~1)。animated_classes中存放css class數(shù)組,如
['class1','class2','class3-1 class3-2']
。磁貼將隨機(jī)選擇一個(gè)動(dòng)畫來(lái)播放(最多3秒)。 - exit() 關(guān)閉整個(gè)頁(yè)面(有確認(rèn)提示)
- aboutUs() 關(guān)于信息
- lang(cn,en) 簡(jiǎn)單的雙語(yǔ)支持,如果是中文環(huán)境返回cn,否則返回en
- getLayeroByIndex(index) 根據(jù)openUrl返回的索引,返回窗體的jq對(duì)象
- hideWins() 最小化所有窗口
- setContextMenu(jq_dom, menu) 右鍵菜單配置(詳見(jiàn)進(jìn)階篇)
- getDesktopScene() 返回桌面舞臺(tái)的jq對(duì)象(用于高級(jí)用戶diy壁紙)
進(jìn)階篇
推薦仔細(xì)查看demo的代碼,很多用法都有所提及
設(shè)計(jì)思路
- Win10-UI應(yīng)當(dāng)作為你網(wǎng)站模塊的主入口,而具體功能頁(yè)面適合用子窗口的形式打開(kāi)。子窗口是以iframe實(shí)現(xiàn)的,減少了js、css沖突,保證了獨(dú)立性。同時(shí)父子頁(yè)之間也可以通過(guò)Win10_child.js的API進(jìn)行溝通
- 桌面圖標(biāo)適用于最常用的操作,菜單適用于構(gòu)建所有操作的清單(這里的操作不限于打開(kāi)子窗口)
- 小磁貼視覺(jué)沖擊力強(qiáng),除了可以做出醒目的按鈕,也可以用作信息展板,甚至于在磁貼的方塊空間內(nèi)構(gòu)建復(fù)雜的應(yīng)用(如音樂(lè)播放器)
icon輔助類
本著極簡(jiǎn)的設(shè)計(jì)風(fēng)格,所有圖標(biāo)相關(guān)的輔助類都設(shè)置為'icon'
<div class="shortcut">
<img class="icon" src="./img/icon/win10.png"/>
<div class="title">Win10-UI官網(wǎng)</div>
</div>
在桌面圖標(biāo)中,設(shè)置img.icon聲明該圖片是一個(gè)圖標(biāo)
<div class="shortcut">
<i class="fa fa-camera-retro icon"></i>
<div class="title">Win10-UI官網(wǎng)</div>
</div>
在桌面圖標(biāo)中,用.icon聲明一個(gè)字體圖標(biāo)(以font awesome為例)
Win10.openUrl("http://win10ui.yuri2.cn","<img class=\"icon\" src=\"./img/icon/win10.png\"/>Win10-UI官網(wǎng)");
Win10.openUrl("http://win10ui.yuri2.cn","<i class=\"fa fa-camera-retro icon\"></i>字體圖標(biāo)");
沒(méi)錯(cuò)!你也可以在openUrl函數(shù)的title參數(shù)中插入圖片圖標(biāo)或者字體圖標(biāo)!
<div class="item"><i class=" icon fa fa-wrench fa-fw"></i><span>API測(cè)試</span></div>
<div class="item"><img class="icon" src="./img/icon/doc.png"><span>文檔圖片圖標(biāo)</span></div>
在開(kāi)始菜單項(xiàng)中,使用icon一樣可以定義圖片圖標(biāo)和字體圖標(biāo)
小磁貼設(shè)計(jì)
- 小磁貼的尺寸固定位44px/格,方便開(kāi)發(fā)者設(shè)計(jì)自己想要的樣式
- 靈活使用setAnimated函數(shù)
- 自定義一些hover的動(dòng)畫能起到很好的效果哦
- vue等前端神器的支持
小磁貼輔助類
你可以放置兩個(gè)content,并賦予detail和cover的輔助類,將得到炫酷的封面切換主體的動(dòng)畫效果。
<div loc="1,1" size="6,3" class="block">
<div class="content red detail" >
我是主體
</div>
<div class="content red cover">
我是封面
</div>
</div>
父子頁(yè)溝通
- 要使用子頁(yè)工具集,請(qǐng)先引入win10.child.js
- 自由的使用Win10_child對(duì)象吧,目前包含close、newMsg、openUrl函數(shù);也可以使用Win10_parent對(duì)象,將指向父頁(yè)的Win10對(duì)象。
- 父頁(yè)打開(kāi)子窗口的函數(shù)openUrl會(huì)返回索引index,使用getLayeroByIndex(index)獲得子窗口對(duì)象,然后就可以方便的控制子窗口的行為了。
顏色預(yù)定義
各種顏色 具體效果見(jiàn) https://www.kancloud.cn/qq85569256/xzui/350010
- black-green{background:#009688}
- green{background:#5FB878}
- black{background:#393D49}
- blue{background:#1E9FFF}
- orange{background:#F7B824}
- red{background:#FF5722}
- dark{background:#2F4056}
右鍵菜單配置
Win10.setContextMenu(jq_dom, menu) 可接管系統(tǒng)默認(rèn)的右鍵菜單。 其中jq_dom是jq對(duì)象或選擇器字符串,menu是菜單配置項(xiàng)(true表示禁用默認(rèn)菜單,null表示恢復(fù)默認(rèn)菜單,[數(shù)組]表示自定義菜單)
//典型用法(桌面菜單)
Win10.setContextMenu('#win10>.desktop',[
'菜單標(biāo)題', //單字符串,不帶回調(diào)
['進(jìn)入全屏',function () {Win10.enableFullScreen()}], //菜單項(xiàng)+點(diǎn)擊回調(diào)
['退出全屏',function () {Win10.disableFullScreen()}],
'|', //分隔符
['關(guān)于',function () {Win10.aboutUs()}],
]);
//設(shè)置menu為true會(huì)起到禁用系統(tǒng)默認(rèn)菜單的作用
Win10.setContextMenu('#win10',true);
點(diǎn)擊回調(diào)函數(shù)可以聲明一個(gè)參數(shù)e,將傳入點(diǎn)擊事件的對(duì)象。特別的,e.data是觸發(fā)右鍵菜單的對(duì)象。
桌面舞臺(tái)
為了讓廣大開(kāi)發(fā)者能更自由的定義自己的桌面,Win10-UI自v1.1.2.3版本起加入桌面舞臺(tái)。 桌面舞臺(tái)是一個(gè)id
為win10-desktop-scene
的div,位于#win10>.desktop
下。桌面舞臺(tái)預(yù)定義了css,使其浮動(dòng)于桌面圖標(biāo)的下方。 借助此特性,你甚至可以發(fā)揮想象力,制作出動(dòng)態(tài)壁紙。
使用
getDesktopScene
函數(shù)可以快捷獲取桌面舞臺(tái)的jq對(duì)象。 v1.1.2.3之前的版本,如果想要臨時(shí)體驗(yàn)桌面舞臺(tái)的支持特性,可以去官方群下載補(bǔ)丁win10_desktop_scene_support.js
。
子窗口事件自動(dòng)綁定
所有#win10下的元素加入類win10-open-window即可自動(dòng)綁定openUrl函數(shù),無(wú)須用onclick手動(dòng)綁定
v1.1.2.3之前的版本,如果想要臨時(shí)體驗(yàn)桌面子窗口事件自動(dòng)綁定支持特性,可以去官方群下載插件
win10_bind_open_windows.js
。
- 標(biāo)簽屬性說(shuō)明
- data-title:窗口標(biāo)題
- data-url:窗口url地址
- data-icon-image:圖片圖標(biāo)的url
- data-icon-font:字體圖標(biāo)名 如star
- data-icon-bg:圖標(biāo)背景色 black-green,green,black,blue,orange,red,dark,purple
- data-area-offset:窗口 [區(qū)域,偏移]
- 特別的,如果子節(jié)點(diǎn)有icon和title的css類,可以自動(dòng)識(shí)別為圖標(biāo)和標(biāo)題,無(wú)須設(shè)置data-title和data-icon-image(font)
<div class="shortcut win10-open-window"
data-url="http://www.baidu.com"
data-title="我是百度"
data-icon-image="https://www.baidu.com/img/bd_logo1.png"
data-icon-font="star"
data-icon-bg="red"
data-area-offset="[['300px', '380px'],'rt']">
<i class="icon fa fa-fw fa-user-circle blue" ></i>
<div class="title">百度</div>
</div>
這是所有可選項(xiàng)都用上的完整寫法。
<div class="shortcut win10-open-window" data-url="www.baidu.com" >
<i class="icon fa fa-fw fa-user-circle blue" ></i>
<div class="title">百度</div>
</div>
這是推薦的簡(jiǎn)潔寫法,可以滿足大部分場(chǎng)景的需要。
未來(lái)開(kāi)發(fā)計(jì)劃
- 可拖拽磁貼
- 多主題切換
- 主題生成器
- 日歷、音樂(lè)播放器等小組件
聯(lián)系作者
聯(lián)系郵箱:yuri2peter@qq.com
歡迎關(guān)注尤里2號(hào)的博客:https://yuri2.cn
寫在最后
2017/7/31
- 本來(lái)只是想做一個(gè)UI給自己的php框架后臺(tái)使用,沒(méi)想到一干起來(lái)就完全停不下來(lái)呢~
- 剛上線就有很多小伙伴表示了支持,在此尤里衷心的跟大家說(shuō)一句:謝謝!
- 由于是剛開(kāi)始,會(huì)有很多新點(diǎn)子,版本迭代會(huì)比較快,對(duì)于更新強(qiáng)迫癥的小伙伴可能會(huì)不太友好,這種情況很快就會(huì)有所改觀(為偷懶做鋪墊)。
- 如果你用Win10-UI做了自己的網(wǎng)站,歡迎聯(lián)系我投稿展示。
- 對(duì)于項(xiàng)目的發(fā)展有著重大貢獻(xiàn)的小伙伴我會(huì)記錄在contributor.md文件中。啥叫貢獻(xiàn)?好的建議,重大bug,推廣等等。
- 如果有一些賊蠢的錯(cuò)誤請(qǐng)見(jiàn)諒,空閑時(shí)間一個(gè)人維護(hù)一個(gè)項(xiàng)目還是蠻蛋疼的(寫于23:42的一句話)。
- ** 如果你喜歡我的項(xiàng)目不妨點(diǎn)一個(gè)贊,如果不嫌累的話最好在官網(wǎng)、開(kāi)源中國(guó)和github都點(diǎn)點(diǎn)贊(捂臉)!**
TODO
- 關(guān)閉回調(diào)
- 取消iframe讀取時(shí)的菊花圖標(biāo)
- 多壁紙切換API
更新日志
v1.1.2.4
- 2017/11/14 [修復(fù)]修復(fù)手機(jī)端瀏覽器輸入法導(dǎo)致窗口高度異常的問(wèn)題
- 2017/09/24 [修復(fù)]開(kāi)始菜單箭頭的小bug
v1.1.2.3
- 2017/9/13 [修復(fù)]修復(fù)手機(jī)端修改鏈接鍵盤影響窗口高度的問(wèn)題
- 2017/9/12 [增強(qiáng)]子窗口事件自動(dòng)綁定(詳情見(jiàn)進(jìn)階篇)
- 2017/9/12 [修復(fù)]修復(fù)了切換全屏下最大化窗口造成的子窗口高度溢出問(wèn)題
- 2017/9/6 [增強(qiáng)]添加了一個(gè)輔助函數(shù)
getDesktopScene
返回桌面舞臺(tái)對(duì)象;現(xiàn)在onReady函數(shù)可以被多次調(diào)用了,將按順序執(zhí)行(真實(shí)執(zhí)行順序是在DOM結(jié)構(gòu)基本確定之后) - 2017/9/5 [增強(qiáng)]增加了一層div桌面舞臺(tái),專門提供給高級(jí)桌面背景插件或自定義
- 2017/9/1 [修復(fù)]修復(fù)一處顏色的筆誤(藍(lán)色寫成了黑色)
v1.1.2.2
- 2017/8/31 [優(yōu)化]菜單項(xiàng)打開(kāi)機(jī)制改為手風(fēng)琴式
- 2017/8/31 [修復(fù)]修正菜單腳手架工具的一處筆誤(導(dǎo)致菜單項(xiàng)樣式異常)
- 2017/8/29 [優(yōu)化]一些a標(biāo)簽按鈕不會(huì)導(dǎo)致地址欄變動(dòng)了(小技巧:#改成javascript:void(0))
- 2017/8/22 [增強(qiáng)]為Ctrl+方向鍵設(shè)立了快捷鍵,快捷打開(kāi)菜單/消息,顯示/隱藏窗口
- 2017/8/22 [優(yōu)化]提高消息圖標(biāo)閃爍的頻率;修復(fù)了IE11的全屏功能
v1.1.2.1
- 2017/9/12 [增強(qiáng)]將win10_bind_open_windows插件整合進(jìn)了主框架,具體使用方法見(jiàn)“進(jìn)階篇”
- 2017/8/21 [優(yōu)化]減小了子窗口按鈕的寬度;手機(jī)屏幕openUrl打開(kāi)的子窗口現(xiàn)在默認(rèn)最大化了;消息提醒圖標(biāo)改為閃爍(感謝'Mr天明'的建議)
- 2017/8/18 [增強(qiáng)]預(yù)定義了磁貼.content.cover和.content.detail類,讓其擁有鼠標(biāo)經(jīng)過(guò)的翻頁(yè)動(dòng)畫
- 2017/8/15 [優(yōu)化]提高了通用背景色css的優(yōu)先級(jí);優(yōu)化菜單圖標(biāo)大小與位置;三種代碼腳手架(懶人必備)
- 2017/8/07 [修復(fù)]修復(fù)了在小屏幕下打開(kāi)自定義網(wǎng)頁(yè)不會(huì)全屏的bug
更早的版本
- 2017/8/05 [增強(qiáng)]openUrl函數(shù)現(xiàn)在第三個(gè)參數(shù)可以自定義窗口的打開(kāi)大小和位置了
- 2017/8/05 [微調(diào)]win10.child.js增加了常用函數(shù)openUrl,父級(jí)對(duì)象句柄由Win10改名為Win10_parent;增加了一個(gè)紫色的css;優(yōu)化內(nèi)存釋放
- 2017/8/02 [增強(qiáng)]右鍵菜單
- 2017/7/31 [增強(qiáng)]iframe子頁(yè)js工具集
- 2017/7/31 [精簡(jiǎn)]去除了登錄相關(guān)的API,登錄頁(yè)現(xiàn)在作為獨(dú)立模板存在
- 2017/7/31 [增強(qiáng)]優(yōu)化任務(wù)欄和子窗口圖標(biāo)的表現(xiàn),設(shè)立圖標(biāo)輔助類icon;背景圖片惰性加載(需要用api設(shè)置圖片的url);newMsg函數(shù)現(xiàn)在可以傳入第三個(gè)參數(shù)設(shè)置點(diǎn)擊的回調(diào)
- 2017/7/28 [協(xié)議]修改開(kāi)源協(xié)議為SATA
- 2017/7/28 [修復(fù)]修正子窗口自動(dòng)置頂有時(shí)失效的bug
- 2017/7/28 [優(yōu)化]任務(wù)欄標(biāo)題文字改為左對(duì)齊;添加img輔助類"win10-btn-icon"服務(wù)于任務(wù)欄小圖標(biāo)
- 2017/7/27 [增強(qiáng)]openUrl現(xiàn)在可以傳入第三個(gè)參數(shù)max為true,強(qiáng)制以最大化打開(kāi)網(wǎng)頁(yè)
- 2017/7/26 [優(yōu)化]點(diǎn)擊子窗口的任意位置都會(huì)激活子窗口(不同于之前只有點(diǎn)擊標(biāo)題有效)
- 2017/7/25 [優(yōu)化]現(xiàn)在子窗口全屏不會(huì)超出底部了;微調(diào)菜單的默認(rèn)高度,看起來(lái)舒服一點(diǎn);在時(shí)間刷新前和圖標(biāo)渲染前先行隱藏,防止影響觀感(感謝@typ1758提供的建議)
- 2017/7/24 [修復(fù)]修復(fù)了筆誤引起的自動(dòng)激活最上層子窗口失效
- 2017/7/24 [優(yōu)化]去除了窄屏幕切換菜單時(shí)偶爾產(chǎn)生的閃爍;微調(diào)桌面圖標(biāo)樣式,變得更加緊湊
- 2017/7/21 [增強(qiáng)]簡(jiǎn)單的中英雙語(yǔ)支持。對(duì)話框樣式微調(diào);磁貼固定寬度為44px/格(固定的尺寸比較好布局)
- 2017/7/20 [修復(fù)]jq3.1有bug(真是坑爹),換為jq2.2.4
- 2017/7/19 [增強(qiáng)]全局默認(rèn)不允許鼠標(biāo)選擇文字;優(yōu)化url打開(kāi)函數(shù),自動(dòng)補(bǔ)全http協(xié)議頭
下載地址:
取件鏈接: https://c-t.work/s/fe0e4e70d4fd46
開(kāi)源地址:https://github.com/yuri2peter/win10-ui
版權(quán)聲明:本文采用知識(shí)共享 署名4.0國(guó)際許可協(xié)議BY-NC-SA 進(jìn)行授權(quán)
文章作者:<墨澀>
文章鏈接:
免責(zé)聲明:本站為資源分享站,所有資源信息均來(lái)自網(wǎng)絡(luò),您必須在下載后的24個(gè)小時(shí)之內(nèi)從您的電腦中徹底刪除上述內(nèi)容;版權(quán)爭(zhēng)議與本站無(wú)關(guān),所有資源僅供學(xué)習(xí)參考研究目的,如果您訪問(wèn)和下載此文件,表示您同意只將此文件用于參考、學(xué)習(xí)而非其他用途,否則一切后果請(qǐng)您自行承擔(dān),如果您喜歡該程序,請(qǐng)支持正版軟件,購(gòu)買注冊(cè),得到更好的正版服務(wù)。
本站為非盈利性站點(diǎn),并不販賣軟件,不存在任何商業(yè)目的及用途,網(wǎng)站會(huì)員捐贈(zèng)是您喜歡本站而產(chǎn)生的贊助支持行為,僅為維持服務(wù)器的開(kāi)支與維護(hù),全憑自愿無(wú)任何強(qiáng)求。