export default { data() { return { min: 1, max: 10, timer:null //定時器名稱 } }, mounted() { this.add(); }, methods: { add() { let _this = this; _this.timer = setInterval(function(){//定時器開始 _this.min++; if(_this.min == _this.max){ clearInterval(_this.timer);// 滿足條件時 停止計時 } },1000) }, } };
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
App界面設計對于設計師而言一直是盛久不衰的話題,尤其是如今越來越多的流量轉移到了移動平臺,使得更多的UI設計師涌入移動端領域,甚至出現了市場飽和的言論,對于從事移動端的UI設計師來講,充滿壓力的同時又面臨無限機遇,唯有不斷的學習才能滋生出源源不斷的設計靈感,站穩腳跟。
摹客想在這方面給各位設計師朋友做點什么,除了提供簡單好用的設計工具,我們也整理了非常多的優秀設計案例,希望可以對設計師朋友有借鑒意義。這將會是一個系列的專題,我們以月為單位,整理了國內外設計師的優秀APP界面設計案例,我們是搬運工,更是好設計的傳達者,希望你會喜歡。
接下來為大家分享精美的app UI設計案例:
--手機appUI設計--
更多精彩文章:
App界面設計對于設計師而言一直是盛久不衰的話題,尤其是如今越來越多的流量轉移到了移動平臺,使得更多的UI設計師涌入移動端領域,甚至出現了市場飽和的言論,對于從事移動端的UI設計師來講,充滿壓力的同時又面臨無限機遇,唯有不斷的學習才能滋生出源源不斷的設計靈感,站穩腳跟。
摹客想在這方面給各位設計師朋友做點什么,除了提供簡單好用的設計工具,我們也整理了非常多的優秀設計案例,希望可以對設計師朋友有借鑒意義。這將會是一個系列的專題,我們以月為單位,整理了國內外設計師的優秀APP界面設計案例,我們是搬運工,更是好設計的傳達者,希望你會喜歡。
接下來為大家分享精美的app UI設計案例:
--手機appUI設計--
更多精彩文章:
好不容易是用wordpress搭建好了我的網站,找了幾個不錯的插件提升了一下性能,也解決了安裝主題時出現的各種問題,終于能夠正常地使用了。正當我興致沖沖地打開文章編輯器,正打算開始寫我的第一篇博客的時候,又有一個意外的錯誤出現了——那就是wordpress的默認編輯器古騰堡。
我上網搜索了好半天,好像大多數人都有遇到這個問題,古騰堡是WordPress十多年來第一次更換的全新的編輯器,從他的外觀來看,確實是十分的舒服,功能也似乎很完善,可惜還是有些小bug。
網上主要的解決方法有三種:
1、切換瀏覽器。他們都說換成谷歌瀏覽器的時候就不會出現這個問題了。但是我一開始用的就是谷歌瀏覽器,所以對我不起作用。
2、清楚瀏覽器緩存, 這個我也照做了,也是沒有什么效果。
3、安裝Classic Editor 插件,我就是采用這個辦法解決的。而且Classic Editor 插件可以切換區塊編輯模式和經典編輯模式,雖然經典編輯模式十分的丑陋,而且用的也不是特別舒服,但是我意外地發現,區塊編輯模式就是原來的古騰堡編輯器,在安裝了插件之后,原來的意外的錯誤就再也不出現了,而且當我把Classic Editor禁用了之后,也仍然不見原來的報錯。
雖然問題是解決了,但可惜我剛開始使用wordpress,還沒有開啟錯誤日志,所以也不知道這個問題到底是為什么出現,在網上搜索了好久,也不能確定我這個問題到底出現在哪里。
反正結果還是好的,就先在這里埋個坑吧,以后再遇到的時候再回來補充!
另外,如果你有興趣,或者是有問題想要與我探討,歡迎來訪問我的博客:https:mu-mu.cn/blog 作者:貪玩的木木 https://www.bilibili.com/read/cv6589030/ 出處:bilibili
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
在Envato Tuts +的代碼類別中,我們涵蓋了很多 內容。 范圍從諸如如何使用一些最新JavaScript框架編寫代碼到如何通過諸如WordPress和OpenCart之類的內容管理系統實現某些目的 。
因為我們傾向于將大部分內容集中在已經對計算有一定程度的了解的人們,所以我們經常假設在開始教程之前已經做好了某些準備。
例如,有時我們假設您在進入實際框架之前已經掌握JavaScript的知識。 或者,也許我們假設您在開始有關如何使用新庫構建Web應用程序的教程之前對PHP或Ruby有一定的了解。
在我們發布的“ 如何做”文章中,我們正在努力提供教程,向讀者提供建立和運行特定軟件所絕對必要的步驟,尤其是那些與很多軟件兼容的軟件。在Envato市場可用。
如果您有興趣使用WordPress構建網站,那么您應該對WordPress主題應該有一個有效的定義,并且對如何安裝WordPress主題有一個實際的了解。
在了解如何安裝WordPress主題之前,讓我們定義WordPress主題應該是什么。 我區分這從一個WordPress主題是什么,因為你經常會發現,做更多的比他們應該的主題。 如果您選擇更改主題的設計,這些主題將很難嘗試其他主題。
我將在稍后詳細討論。
現在,讓我們使用WordPress Codex中提供的定義:
從根本上講,WordPress主題系統是一種“蒙皮”您的Weblog的方法。 然而,它不僅僅是一個“皮膚”。 對您的網站進行外觀設計意味著僅更改設計。 WordPress主題可以更好地控制您網站上材料的外觀和呈現方式。
從此定義中得出的主要結論是,WordPress主題提供了您網站的演示。 也就是說,它負責使您的網站或博客具有特定外觀。
它會影響您所看到的所有內容,設置內容樣式以及影響字體,配色方案等。
安裝WordPress主題時,請務必注意其提供的功能。 現代主題通常不僅僅包括演示。 也就是說,它們引入了功能。
功能可以定義為任何可以改變主題行為的東西。 例如,假設您的主題在帖子編輯器屏幕上提供了某種類型的搜索引擎優化選項。
并且由于這不在表示的范圍之內,因此被認為是功能。 如果主題提供了類似的內容,那么您就有遭受“主題鎖定”之苦的危險。
它是這樣工作的:安裝一個主題,它不僅提供演示文稿(例如上面概述的SEO功能)。 如果您選擇將站點更新為不提供完全相同的SEO功能實現的新主題,則會丟失它。 所有的。
您可能會得到一個很棒的設計,但是您已經失去了為主題提供所有SEO信息的工作。 因此,您要么被鎖定使用與開始時相同的主題,要么面臨使用新主題并失去所有工作的麻煩。
最終,主題不應該包括這種類型的功能。 功能保留給插件。 這是我們將在另一篇文章中討論的內容。
現在,請記住主題應該全部與演示有關。 如果您可以使用主題鎖定,那么選擇一個可以提供很多功能的主題可能就可以了。 但是,如果您希望最終不時更改設計,請嘗試堅持嚴格遵循修改網站外觀的主題。
話雖如此,現在我們可以討論安裝WordPress主題所需的過程。 實際上,有兩種方法可以執行此操作:
盡管第一個選項可以說是最簡單的,但我們將在本指南中介紹這兩個選項,以確保為您提供了最全面的信息。
請注意,本指南假定您已經在計算機或Web主機上安裝了WordPress。 我們將逐步完成獲取主題并通過WordPress或FTP進行安裝的過程。
話雖如此,讓我們開始吧。
網上有很多地方可以下載WordPress主題。 但是,從任何地方下載主題并不總是安全的。 審查主題提供者的聲譽很重要。
這超出了本文的范圍; 但是,從WordPress主題存儲庫或Envato Market中選擇主題不會出錯。
出于本教程的目的,我們將使用免費提供的第二十六主題。 首先,我們將從WordPress中安裝它,然后我們將了解如何通過S / FTP安裝它。
對于以下步驟,我假設您是從WordPress儀表板開始的:
無論您選擇使用哪種方法來安裝主題,這都是我們開始本教程步驟的地方。
要從WordPress本身安裝主題,請單擊“ 外觀”菜單,然后選擇“ 主題”選項。
從那里,您將看到所有已安裝的主題。
接下來,單擊屏幕頂部的添加新按鈕。 從這里開始,您將進入一個如下所示的屏幕:
注意 頁面頂部的“ 搜索主題”字段。 在此字段中,輸入“ 二十十六”(不帶引號),它將返回以下屏幕:
之后,單擊選項以安裝主題。 之后,WordPress將為您提供預覽主題或激活主題的選項。 對于通過S / FTP上傳主題的用戶,也將提供相同的選項。
因此,目前,我們將看一下通過上傳文件來安裝主題的必要步驟。 如果您對以下替代步驟不感興趣,則可以跳至下面的“ 激活主題”部分。
此版本的主題安裝假定您熟悉術語服務器,端口,用戶名和密碼。 它還假定您熟悉wp-content
和theme
目錄。 如果不是這樣,那么最好的做法就是堅持上述方法。
但是,如果以上都不是行話,那就繼續吧。 就本演示而言,我將使用Transmit作為我的S / FTP客戶端; 但是,請隨時使用您喜歡的任何客戶端。
首先,我們需要從WordPress Theme Repository下載二十一十六 。
一旦您單擊Download ,這會將主題的zip文件放置在您選擇的目錄中。
接下來,您將要提取存檔。 這將在包含zip文件的目錄中創建一個包含所有主題文件的子目錄。
之后,連接到您的Web服務器并導航到WordPress安裝的wp-content/themes
目錄。
上載提取主題文件時創建的目錄。 從那里跳到WordPress儀表板,然后導航到“ 主題”頁面。 您應該看到《 二十一歲月》的副本 出現在主題列表中。
此時,無論我們如何安裝主題,我們都準備好繼續激活主題。 就是說,如果您選擇使用S / FTP或選擇從WordPress中安裝主題,則會為您提供相同的選項集。
所以做吧。
通過WordPress下載主題或通過S / FTP上傳主題之后,便擁有了激活主題并更新網站外觀所需的一切。
獲得主題之后,應該為您提供激活主題的選項:
在這里,您可以選擇 實時預覽以了解如何更改當前內容,或者您可以單擊“ 激活”繼續進行設置。 我選擇與后者一起使用。
完成后,您將看到以下屏幕:
從那里開始,您應該能夠像在安裝此主題之前一樣繼續使用WordPress。 這意味著您可以繼續添加帖子,頁面,類別等。
根據主題,您還可能有機會更新標題圖像,背景圖像等。 請注意,這取決于已安裝的主題。
要確切了解您的主題提供了什么,請務必參考文檔。
如您所見,安裝WordPress主題是一個相對簡單的過程,尤其是從WordPress應用程序中進行安裝時。 即使您對使用FTP客戶端的過程感到有些恐懼,一旦上傳了文件,激活主題仍然相對容易。
其次,請注意區分想要的主題類型很重要。 您是否想要一個具有很多功能而您永遠都不會改變的主題,還是想要一個與一組插件完美配合,可以獨立于該功能更改網站外觀的主題?
無論哪種情況,您都應該擁有選擇主題,安裝主題并以最適合自己的方式激活它所需的一切。
最后,如果您要尋找適合幾乎所有情況的主題主題,請務必查看Envato Market中提供的功能 。
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
部分借鑒自:csdn
原文鏈接:
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
list-style: none;
}
html {
height: 100%;
}
.container {
width: 400px;
margin: 200px auto;
height: 100px;
position: relative;
}
.box {
width: 100px;
height: 100px;
position: absolute;
float: left;
}
#rigth {
background-color: rgba(0, 0, 0, 0.3);
position: absolute;
right: 0px;
top: 50%;
transform: translateY(-50%);
}
#left {
position: absolute;
left: 0px;
background-color: rgba(0, 0, 0, 0.3);
top: 50%;
transform: translateY(-50%);
}
span:hover {
cursor: pointer;
color: red;
}
ul {
width: 100px;
height: 100px;
transform-style: preserve-3d;
float: left;
transition: all 1s;
}
.top {
background-color: red;
transform: translateY(50px) rotateX(-90deg);
transform: translateY(50px) rotateX(-90deg);
background: url('./image/4.jpg') no-repeat;
}
.footer {
transform: translateY(-50px) rotateX(90deg);
background: url('./image/2.jpg') no-repeat;
}
.left {
transform: translateX(50px) rotateY(90deg)
}
.rigth {
background-color: yellow;
transform: translateX(-50px) rotateY(-90deg);
}
.Front {
background-color: pink;
transform: translateZ(50px);
background: url('./image/1.jpeg') no-repeat;
}
.behind {
background-color: blue;
transform: translateZ(-50px) rotateX(-180deg);
background: url('./image/3.jpg') no-repeat;
}
/* 前 */
.container ul:nth-child(2) .Front {
background-position: -100px 0;
}
.container ul:nth-child(3) .Front {
background-position: -200px 0;
}
.container ul:nth-child(4) .Front {
background-position: -300px 0;
}
/* 底部 */
.container ul:nth-child(2) .footer {
background-position: -100px 0;
}
.container ul:nth-child(3) .footer {
background-position: -200px 0;
}
.container ul:nth-child(4) .footer {
background-position: -300px 0;
}
/* 后面 */
.container ul:nth-child(2) .behind {
background-position: -100px 0;
}
.container ul:nth-child(3) .behind {
background-position: -200px 0;
}
.container ul:nth-child(4) .behind {
background-position: -300px 0;
}
/* 上面 */
.container ul:nth-child(2) .top {
background-position: -100px 0;
}
.container ul:nth-child(3) .top {
background-position: -200px 0;
}
.container ul:nth-child(4) .top {
background-position: -300px 0;
}
</style>
</head>
<body>
<div class="container">
<ul>
<li class="box top"></li>
<li class="box footer"></li>
<li class="box left"></li>
<li class="box rigth"></li>
<li class="box Front"></li>
<li class="box behind"></li>
</ul>
<ul>
<li class="box top"></li>
<li class="box footer"></li>
<li class="box left"></li>
<li class="box rigth"></li>
<li class="box Front"></li>
<li class="box behind"></li>
</ul>
<ul>
<li class="box top"></li>
<li class="box footer"></li>
<li class="box left"></li>
<li class="box rigth"></li>
<li class="box Front"></li>
<li class="box behind"></li>
</ul>
<ul>
<li class="box top"></li>
<li class="box footer"></li>
<li class="box left"></li>
<li class="box rigth"></li>
<li class="box Front"></li>
<li class="box behind"></li>
</ul>
<span id="rigth">下張</span>
<span href="JavaScript:;" id="left">上張</span>
</div>
</body>
<script>
var rigth = document.getElementById("rigth")
var left = document.getElementById("left")
var ul = document.querySelectorAll(".container ul")
var index = 0
var flags = false
rigth.onclick = function () {
if (flags == false) {
flags = true
index++
for (var i = 0; i < ul.length; i++) {
ul[i].style.transform = "rotateX(" + index * 90 + "deg)"
ul[i].style.transitionDelay = "" + i * 0.3 + "s"
}
setTimeout(function () {
flags = false
}, 2000)
}
}
left.onclick = function () {
if (flags == false) {
flags = true
index--
for (var i = 0; i < ul.length; i++) {
ul[i].style.transform = "rotateX(" + index * 90 + "deg)"
ul[i].style.transitionDelay = "" + i * 0.3 + "s"
}
setTimeout(function () {
flags = false
}, 2000)
}
}
</script>
</html>
作者:yuanzhuang
鏈接:https://www.jianshu.com/p/10c90c482795
來源:簡書
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
-
旋轉正方形
-
<!DOCTYPE html>
-
<html>
-
<head>
-
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
-
<meta charset="utf-8">
-
<title>旋轉立方體</title>
-
<style type="text/css">
-
.stage{
-
position: relative;
-
perspective: 800px;
-
}
-
@keyframes rotate-frame{ /* 設置動畫效果 */
-
0% {
-
transform: rotateX(0deg) rotateY(0deg);
-
}
-
-
50% {
-
transform: rotateX(360deg) rotateY(0deg);
-
}
-
100% {
-
transform: rotateX(360deg) rotateY(360deg);
-
}
-
}
-
.container{
-
width: 450px;
-
height: 450px;
-
margin: 0 auto;
-
transform-style:preserve-3d;
-
animation: rotate-frame 8s infinite linear;
-
animation-timing-function: all;
-
animation-direction: normal;
-
-
animation-fill-mode: backwards;
-
-
transform-origin: 50% 50% 75px;
-
-
/*background: yellow; 容器屏幕背景色*/
-
}
-
.container:hover{
-
/*覆蓋時暫停動畫*/
-
animation-play-state: paused;
-
}
-
.side{
-
width: 150px;
-
height: 150px;
-
position: absolute;
-
text-align: center;
-
line-height: 150px;
-
font-size: 50px;
-
}
-
.top{
-
left: 150px;
-
top: 0;
-
transform: rotateX(-90deg); /* 設置角度 */
-
transform-origin: bottom;
-
background-color: rgba(0,0,255,0.5);
-
}
-
.bottom{
-
left: 150px;
-
top: 300px;
-
transform: rotateX(90deg);
-
transform-origin: top;
-
background-color: rgba(0,255,0,0.5);
-
}
-
.left{
-
left: 0;
-
top: 150px;
-
transform: rotateY(90deg);
-
transform-origin: right;
-
background-color: rgba(255,0,0,0.5);
-
}
-
.right{
-
left: 300px;
-
top: 150px;
-
transform: rotateY(-90deg);
-
transform-origin: left;
-
background-color: rgba(0,0,100,0.5);
-
}
-
.front{
-
left: 150px;
-
top: 150px;
-
transform: translateZ(150px);
-
background-color: rgba(0,100,0,0.5);
-
}
-
.back{
-
left: 150px;
-
top: 150px;
-
background-color: rgba(100,0,0,0.5);
-
}
-
.rotateX180{
-
/*讓倒置的數字倒置回正常狀態*/
-
transform: rotateX(180deg);
-
}
-
-
</style>
-
-
</head>
-
<body>
-
<div class="stage">
-
<div class="container">
-
<div class="side top" >1</div>
-
<div class="side bottom">2</div>
-
<div class="side left">3</div>
-
<div class="side right">4</div>
-
<div class="side front">5</div>
-
<div class="side back">6</div>
-
</div>
-
</div>
-
</body>
-
</html>
-
紙片旋轉
-
<!DOCTYPE html>
-
<html lang="en">
-
<head>
-
<meta charset="UTF-8">
-
<title>Document</title>
-
<style type="text/css">
-
.zpbox{
-
/*設置3D視角*/
-
perspective: 800px;
-
perspective-origin: bottom right;
-
}
-
.box{
-
height: 200px;
-
width: 100px;
-
margin: 50px auto;
-
-
/*preserve-3d 指定子元素定位在三維空間內 */
-
transform-style: preserve-3d;
-
/*指定變換為:linear-線性過渡*/
-
transition-timing-function:linear;
-
-
/*指定旋轉動畫*/
-
animation-name: action_b1;
-
animation-duration: 4s;
-
animation-timing-function: all;
-
animation-direction: normal;
-
animation-iteration-count: infinite;
-
animation-fill-mode: backwards;
-
-
position: relative;
-
}
-
.box:hover{
-
/*覆蓋時暫停動畫*/
-
animation-play-state: paused;
-
}
-
-
.b1{
-
/*聲明第一個卡片為浮動,使得兩個卡片能重疊*/
-
float: left;
-
height: 200px;
-
width: 100px;
-
background-color: #000;
-
text-align:center;
-
line-height: 100px;
-
color: #fff;
-
font-size:50px;
-
}
-
.b2{
-
height: 200px;
-
width: 100px;
-
background-color: #000;
-
text-align:center;
-
line-height: 100px;
-
color: #fff;
-
font-size:50px;
-
-
/*第二個卡片旋轉90度*/
-
transform: rotateX(90deg);
-
-
/*第二個卡片位于中間位置*/
-
position: absolute;
-
margin-left: 0;
-
margin-top: 0;
-
}
-
.rotateX180{
-
/*讓倒置的2、4數字倒置回正常狀態*/
-
transform: rotateX(180deg);
-
}
-
-
@keyframes action_b1{
-
100%{
-
transform: rotateX(-360deg);
-
}
-
}
-
-
-
-
-
</style>
-
</head>
-
<body>
-
<div class="zpbox">
-
<div class="box">
-
<div class="b1">
-
<div>1</div>
-
<div class="rotateX180">3</div>
-
</div>
-
<div class="b2">
-
<div>2</div>
-
<div class="rotateX180">4</div>
-
</div>
-
</div>
-
</div>
-
-
-
</body>
-
</html>
-
輪播圖3D
-
<!DOCTYPE html>
-
<html lang="en">
-
<head>
-
<meta charset="UTF-8">
-
<title>Document</title>
-
<style type="text/css">
-
html, body, ul, li, ol, dl, dd, dt, p, h1, h2, h3, h4, h5, h6, form, fieldset, legend, img { margin:0; padding:0; } /*去掉多余的像素*/
-
body{
-
perspective: 800px;
-
}
-
.box{
-
width: 800px;
-
height: 360px;
-
margin: 100px auto;
-
text-align:center;
-
position: relative;
-
left: 50%;
-
margin-left: -400px;
-
/*background-color: #eee;*/
-
transform-style: preserve-3d; /*設置為3D模式*/
-
/*transform: rotateY(-30deg) rotateX(57deg);*/
-
/*transition:5s ease;*/
-
animation-name: animate;
-
animation-duration: 10s;
-
animation-iteration-count: infinite;
-
}
-
-
.box>div{
-
width: 800px;
-
height: 360px;
-
position: absolute;
-
}
-
.box>.up{
-
background: url(flower.jpg); /*引入照片*/
-
transform: rotateX(90deg) translateZ(180px); /* 設置角度 */
-
}
-
.box>.down{
-
background: url(flower.jpg);
-
transform: rotateX(90deg) rotateZ(180deg)translateZ(-180px);
-
}
-
.box>.before{
-
background: url(flower.jpg);
-
transform: translateZ(180px);
-
}
-
.box>.after{
-
background: url(flower.jpg);
-
transform: translateZ(-180px) rotateX(180deg);
-
}
-
.box:hover{
-
animation-play-state: paused; /* 當鼠標懸停的時候停止 */
-
}
-
@keyframes animate{
-
0%{
-
-
}
-
25%{
-
transform: rotateX(90deg);
-
}
-
50%{
-
transform: rotateX(180deg);
-
}
-
75%{
-
transform: rotateX(270deg);
-
}
-
100%{
-
transform: rotateX(360deg);
-
}
-
</style>
-
</head>
-
<body>
-
<div class="box">
-
<div class="up"></div>
-
<div class="down"></div>
-
<div class="before"></div>
-
<div class="after"></div>
-
</div>
-
</body>
-
</html>
-
輪播
-
<!DOCTYPE html>
-
<html lang="en">
-
<head>
-
<meta charset="UTF-8">
-
<title>輪播</title>
-
<style>
-
.frame{
-
position:absolute;
-
margin: 50px 200px;
-
width:280px;
-
height:200px;
-
overflow:hidden;
-
border-radius:6px;
-
background-color: #000;
-
}
-
.imgdiv img{
-
float:left;
-
width:280px;
-
height:200px;
-
}
-
.imgdiv {
-
position: absolute;
-
width: 1500px;
-
}
-
.play{
-
animation: lbt 10s ;
-
animation-direction: normal;
-
animation-iteration-count: infinite;
-
}
-
.play:hover{
-
animation-play-state: paused;
-
}
-
-
@keyframes lbt {
-
0%,20% {
-
margin-left: 0px;
-
}
-
20%,40% {
-
margin-left: -300px;
-
}
-
40%,60% {
-
margin-left: -600px;
-
}
-
60%,80% {
-
margin-left: -900px;
-
}
-
80%,100% {
-
margin-left: -1200px;
-
}
-
}
-
-
</style>
-
</head>
-
<body>
-
<div class="frame" >
-
<div class="imgdiv play">
-
<img src="lunbo.jpg" > <!-- 引入照片 -->
-
<img src="lunbo.jpg" >
-
<img src="lunbo.jpg" >
-
<img src="lunbo.jpg" >
-
<img src="lunbo.jpg" >
-
</div>
-
</div>
-
</body>
-
</html>
-
1
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
部分借鑒自:csdn
原文鏈接:
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
聊一聊力導向圖。力導向圖在echarts等快捷的可視化工具中都有非常方便的實現方式。來看看d3.js是如何實現的。
先來一張d3.js官網實現的力導向圖的照片:
接下來解釋一下d3.js中實現此力導向圖的過程。
<!DOCTYPE html> <meta charset="utf-8"> <style> .links line { stroke: #999; stroke-opacity: 0.6; } .nodes circle { stroke: #fff; stroke-width: 1.5px; } </style> <svg width="960" height="600"></svg> <script src="https://d3js.org/d3.v4.min.js"></script> <script> // 定義一個svg畫布 var svg = d3.select("svg"), // 獲取svg畫布的寬度 width = +svg.attr("width"), // 獲取svg畫布的高度 height = +svg.attr("height"); // 定義一個顏色函數 // d3.scaleOrdinal()函數用來定義一個序列,其中的參數d3.schemeCategory20代表序 // 列函數的值域,這里d3.schemeCategory20指的是由RGB十六進制字符串表示的二十種分類 // 顏色的數組。因此,color()函數的值域就是離散的20中顏色值 var color = d3.scaleOrdinal(d3.schemeCategory20); // 創建一個力學模擬器 // d3.forceSimulation()函數用來創建一個空的模擬器 var simulation = d3.forceSimulation() // simulation.force(name,[force])函數的作用是:如果指定了力force,則為指 // 定的名稱name分配力并返回該模擬。 如果未指定力,則返回具有指定名稱的力,如果 // 沒這樣的力,則返回undefined。 (默認情況下,新的模擬沒有力量。) // d3.forceLink()函數用來創建一個空的link力數組 // d3.forceLink().id()用來指定link力數組中每個節點的id的獲取方式 .force("link", d3.forceLink().id(function(d) { return d.id; })) // 創建一個charge數組,forceManyBody()返回一個新的多體力數組 .force("charge", d3.forceManyBody()) // d3.forceCenter()用指定的x坐標和y坐標創建一個新的居中力。 // 如果未指定x和y,則默認為?0,0?。 .force("center", d3.forceCenter(width / 2, height / 2)); // 讀取數據,該例子中的數據是雨果的《悲慘世界》中的人物關系信息。 // 通過力學模擬,人物關系相近的節點會比較接近;反之,節點會比較疏遠 d3.json("miserables.json", function(error, graph) { if (error) throw error; // 定義人物節點之間連線的信息 var link = svg.append("g")
.attr("class", "links") // 用line元素來繪制 .selectAll("line") // 綁定json文件中的links數據 .data(graph.links)
.enter().append("line") // 人物節點之間連接線的粗細通過連接線的value字段來計算,value越大,連接線 // 越粗 .attr("stroke-width", function(d) { return Math.sqrt(d.value); }); // 定義人物節點信息 var node = svg.append("g")
.attr("class", "nodes") // 人物節點通過圓來繪制 .selectAll("circle") // 為人物節點綁定nodes數據 .data(graph.nodes)
.enter().append("circle") // 設置節點半徑 .attr("r", 5) // 設置節點的填充色,通過節點的group屬性來計算節點的填充顏色 .attr("fill", function(d) { return color(d.group); }) // 以定義的這些人物節點為參數,調用drag()函數 // 綁定拖拽函數的三個鉤子,即拖拽開始、拖拽中、拖拽結束 .call(d3.drag()
.on("start", dragstarted)
.on("drag", dragged)
.on("end", dragended)); //為人物節點綁定文字 node.append("title")
.text(function(d) { return d.id; }); // 為力模擬器綁定節點數據 // 會為每個節點自動添加可視化時所需的index,vx,xy,x,y五個字段信息 // 并且為simulation內部計時器tick監聽綁定動作,來繪制圖形 simulation
.nodes(graph.nodes)
.on("tick", ticked);// 此處在每次tick時繪制力導向圖 // 為力模擬器綁定連接線數據 // 調用結束后,會為每個連接線添加可視化時所需要的index,vx,vy,x,y五個字段信息 simulation.force("link")
.links(graph.links); // 定義simulation內部計時器tick每次結束時的動作 function ticked() { // 每次tick計時到時,連接線的響應動作 // 設置連接線兩端的節點的位置 link
.attr("x1", function(d) { return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; }); // 每次tick計時到時,節點的響應動作 // 設置節點的圓心坐標 node
.attr("cx", function(d) { return d.x; })
.attr("cy", function(d) { return d.y; });
}
}); // 定義開始拖拽節點時的動作 function dragstarted(d) { // restart()方法重新啟動模擬器的內部計時器并返回模擬器。 // 與simulation.alphaTarget或simulation.alpha一起使用時,此方法可用于在交互 // 過程中進行“重新加熱”模擬,例如在拖動節點時,在simulation.stop暫停之后恢復模 // 擬。 if (!d3.event.active) simulation.alphaTarget(0.3).restart();
d.fx = d.x;
d.fy = d.y;
} // 定義拖拽中的動作 function dragged(d) { d.fx = d3.event.x;
d.fy = d3.event.y;
} // 定義拖拽結束的動作 function dragended(d) { if (!d3.event.active) simulation.alphaTarget(0);
d.fx = null;
d.fy = null;
} </script>
至此,力導向圖解析完畢,這篇中有很多關于力學的專業的功能函數,理解起來有點難度。今天周日,起床后第一件事就是把這篇完結了,歐耶~
這篇文
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
部分借鑒自:csdn
原文鏈接:
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
input失去焦點和獲得焦點
鼠標在搜索框中點擊的時候里面的文字就消失了。
我們在做網站的時候經常會用到搜索框的獲得焦點和失去焦點的事件,因為懶,每次都去寫非常的煩,于是就一勞永逸,遇到類似情況就來調用一下就OK 了
相關js代碼:
<script src="jquery-1.9.1.js" type="text/javascript"></script>
<script type="text/javascript">
$(function () {
$('#username').focus(function ()//得到教室時觸發的時間
{
$('#username').val('');
})
$('#username').blur(function () 失去焦點時觸發的時間
{
if ($('#username').val() == 'marry') {
$('#q').text('用戶名已存在!')
}
else { $('#q').text('ok!') }
})
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
部分借鑒自:腳本之家
原文鏈接:
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
ECharts中dataZoom組件及散點圖的繪制
dataZoom 組件是對 數軸(axis) 進行『數據窗口縮放』『數據窗口平移』操作。
可以通過 dataZoom.xAxisIndex 或 dataZoom.yAxisIndex 來指定 dataZoom 控制哪個或哪些數軸。
dataZoom 組件可同時存在多個,起到共同控制的作用??刂仆粋€數軸的組件,會自動聯動。下面例子中會詳細說明。
dataZoom 的運行原理是通過『數據過濾』來達到『數據窗口縮放』的效果。
dataZoom 的數據窗口范圍的設置,目前支持兩種形式:
百分比形式:參見 dataZoom.start 和 dataZoom.end。
絕對數值形式:參見 dataZoom.startValue 和 dataZoom.endValue。
dataZoom 組件現在支持幾種子組件:
內置型數據區域縮放組件(dataZoomInside):內置于坐標系中。
滑動條型數據區域縮放組件(dataZoomSlider):有單獨的滑動條操作。
框選型數據區域縮放組件(dataZoomSelect):全屏的選框進行數據區域縮放。入口和配置項均在 toolbox中。
在代碼中加入dataZoom組件
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>代碼加入dataZoom組件</title>
<!--引入Echarts文件-->
<script src="js/echarts.min.js"></script>
</head>
<body>
<div id="main" style="width: 800px;height:400px;"></div>
<script type="text/javascript">
var dom=document.getElementById("main");
var myChart=echarts.init(dom);
var app={};
var option=null;
//先只在對單獨一個橫軸,加上 dataZoom 組件,代碼示例如下:
option = {
tooltip:{},//提示框
xAxis: {
type: 'value'
},
yAxis: {
type: 'value'
},
dataZoom: [
{
type: 'slider', //這個dataZoom組件是slider型dataZoom組件
xAxisIndex:0, //dataZoom-slider組件控制第一個XAxis
start: 10, //左邊在10%位置
end: 60 //右邊在60%位置
},
{
type: 'inside', //這個dataZoom組件是inside型dataZoom組件
xAxisIndex:0, //dataZoom-inslide組件控制第一個XAxis
start: 10, //左邊在10%的位置
end: 60 //右邊在60%的位置
},{
type:'slider',
yAxisIndex:0, //dataZoom-slider組件控制第一個yAxis
start:30,
end:80
},{
type:'inside',
yAxisIndex:0, //dataZoom-inside組件控制第一個yAxis
start:30,
end:80
}
],
series: [
{
name: 'scatter',
type: 'scatter',
itemStyle: {
normal: {
opacity: 0.8
}
},
symbolSize: function (val) {//控制點的大小,(參數為data中第三列的數據)
return val[2] * 40; //用回調函數控制點的大小(請查看官方文檔)
},
data: [//data中第三個參數控制點的大小
["14.616","7.241","0.896"],
["3.958","5.701","0.955"],
["2.768","8.971","0.669"],
["9.051","9.710","0.171"],
["14.046","4.182","0.536"],
["12.295","1.429","0.962"],
["4.417","8.167","0.113"],
["0.492","4.771","0.785"],
["7.632","2.605","0.645"],
["14.242","5.042","0.368"]
]
}
]
}
if (option && typeof option === "object") {
myChart.setOption(option, true);
}
</script>
</body>
</html>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
可以通過滑動滑輪實現圖形的縮放
藍藍設計建立了UI設計分享群,每天會分享國內外的一些優秀設計,如果有興趣的話,可以進入一起成長學習,請掃碼藍小助,報下信息,藍小助會請您入群。歡迎您加入噢~~希望得到建議咨詢、商務合作,也請與我們聯系。
部分借鑒自:csdn
分享此文一切功德,皆悉回向給文章原作者及眾讀者.
免責聲明:藍藍設計尊重原作者,文章的版權歸原作者。如涉及版權問題,請及時與我們取得聯系,我們立即更正或刪除。
藍藍設計( www.syprn.cn )是一家專注而深入的界面設計公司,為期望卓越的國內外企業提供卓越的UI界面設計、BS界面設計 、 cs界面設計 、 ipad界面設計 、 包裝設計 、 圖標定制 、 用戶體驗 、交互設計、 網站建設 、平面設計服務
藍藍設計的小編 http://www.syprn.cn