更新demo页面

This commit is contained in:
KeiferJu 2021-06-18 11:19:49 +08:00
parent c168cea966
commit 71a37baacc
8 changed files with 365 additions and 195 deletions

View File

@ -23,12 +23,6 @@
<canvas id="demo-canvas"></canvas> <canvas id="demo-canvas"></canvas>
<h1 class="main-title">Connect <span class="thin">Three</span></h1> <h1 class="main-title">Connect <span class="thin">Three</span></h1>
</div> </div>
<nav class="codrops-demos">
<a class="current-demo" href="index.html">Demo 1</a>
<a href="index2.html">Demo 2</a>
<a href="index3.html">Demo 3</a>
<a href="index4.html">Demo 4</a>
</nav>
</div> </div>
</div><!-- /container --> </div><!-- /container -->
<script src="js/TweenLite.min.js"></script> <script src="js/TweenLite.min.js"></script>

View File

@ -23,12 +23,6 @@
<canvas id="demo-canvas"></canvas> <canvas id="demo-canvas"></canvas>
<h1 class="main-title">Spirit</span></h1> <h1 class="main-title">Spirit</span></h1>
</div> </div>
<nav class="codrops-demos">
<a href="index.html">Demo 1</a>
<a class="current-demo" href="index2.html">Demo 2</a>
<a href="index3.html">Demo 3</a>
<a href="index4.html">Demo 4</a>
</nav>
</div> </div>
</div><!-- /container --> </div><!-- /container -->
<script src="js/rAF.js"></script> <script src="js/rAF.js"></script>

View File

@ -23,12 +23,6 @@
<canvas id="demo-canvas"></canvas> <canvas id="demo-canvas"></canvas>
<h1 class="main-title">Collab</span></h1> <h1 class="main-title">Collab</span></h1>
</div> </div>
<nav class="codrops-demos">
<a href="index.html">Demo 1</a>
<a href="index2.html">Demo 2</a>
<a class="current-demo" href="index3.html">Demo 3</a>
<a href="index4.html">Demo 4</a>
</nav>
</div> </div>
</div><!-- /container --> </div><!-- /container -->
<script src="js/TweenLite.min.js"></script> <script src="js/TweenLite.min.js"></script>

View File

@ -23,12 +23,6 @@
<canvas id="demo-canvas"></canvas> <canvas id="demo-canvas"></canvas>
<h1 class="main-title">Morning Light</span></h1> <h1 class="main-title">Morning Light</span></h1>
</div> </div>
<nav class="codrops-demos">
<a href="index.html">Demo 1</a>
<a href="index2.html">Demo 2</a>
<a href="index3.html">Demo 3</a>
<a class="current-demo" href="index4.html">Demo 4</a>
</nav>
</div> </div>
</div><!-- /container --> </div><!-- /container -->
<script src="js/rAF.js"></script> <script src="js/rAF.js"></script>

View File

@ -1,24 +1,42 @@
export let config = { export let config = [{
txlists: [{ title: '特效',
data: [{
name: '标题特效', name: '标题特效',
url: 'tx/dllcn/index.html' url: 'tx/dllcn/index.html'
}, { }, {
name: '404', name: '404',
url: 'tx/404_01/index.html' url: 'tx/404_01/index.html'
}], }]
canvaslists: [{ },
{
title: 'Canvas背景',
data: [{
name: 'webglCanvas', name: 'webglCanvas',
url: 'canvas/webglCanvas/index.html' url: 'canvas/webglCanvas/index.html'
}, },
{ {
name: 'AnimatedBackground',
data: [{
name: 'AnimatedBackground', name: 'AnimatedBackground',
url: 'canvas/AnimatedBackground/index.html' url: 'canvas/AnimatedBackground/index.html'
}, {
name: 'AnimatedBackground2',
url: 'canvas/AnimatedBackground/index2.html'
}, {
name: 'AnimatedBackground3',
url: 'canvas/AnimatedBackground/index3.html'
}, {
name: 'AnimatedBackground4',
url: 'canvas/AnimatedBackground/index4.html'
}]
}, },
{ {
name: 'PoppingBubbles', name: 'PoppingBubbles',
url: 'canvas/PoppingBubbles/index.html' url: 'canvas/PoppingBubbles/index.html'
}, },
{ {
name: '3DBackground',
data: [{
name: '3DBackground', name: '3DBackground',
url: 'canvas/3DBackground/index.html' url: 'canvas/3DBackground/index.html'
}, },
@ -26,9 +44,15 @@ export let config = {
name: '3DBackground2', name: '3DBackground2',
url: 'canvas/3DBackground/index2.html' url: 'canvas/3DBackground/index2.html'
} }
], ]
loadinglists: [{ }
]
},
{
title: 'loading动画',
data: [{
name: 'css3-flower-loading', name: 'css3-flower-loading',
url: 'loading/css3-flower-loading/index.html' url: 'loading/css3-flower-loading/index.html'
}] }]
} },
]

184
index.css Executable file
View File

@ -0,0 +1,184 @@
#container {
position: fixed;
width: 100vw;
height: 100vh;
display: flex;
top: 0;
left: 0;
}
ul {
list-style: none;
font-size: 1.2rem;
padding: 0;
}
.tx-list {
width: 300px;
}
.tx-ifram {
flex: 1;
/* border: 1px solid; */
position: relative;
}
iframe {
position: absolute;
width: 100%;
height: 100%;
}
.tx-ol {
cursor: pointer;
margin: 10px 0;
}
.tx-ol:hover {
color: aqua;
}
.github-corner:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out
}
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0)
}
20%,
60% {
transform: rotate(-25deg)
}
40%,
80% {
transform: rotate(10deg)
}
}
@media (max-width:500px) {
.github-corner:hover .octo-arm {
animation: none
}
.github-corner .octo-arm {
animation: octocat-wave 560ms ease-in-out
}
}
.is-scrollable {
overflow-y: auto;
}
.dashboard {
display: flex;
flex-direction: row;
}
.dashboard.is-full-height {
height: 100vh;
}
.dashboard-panel {
display: flex;
flex-direction: column;
padding: 2rem 1.5rem;
flex: 0 0 25rem;
height: 100%;
background: #222 !important;
}
.dashboard-panel.left {
flex: 0 0 25rem;
}
.dashboard-panel.right {
flex: 0 0 25rem;
}
.dashboard-panel.has-thick-padding {
padding: 3rem 0;
}
.dashboard-panel.is-one-quarter {
flex: 0 0 25%;
}
.dashboard-panel.is-half {
flex: 0 0 50%;
}
.dashboard-panel.is-one-third {
flex: 0 0 33.3333333333%;
}
.dashboard-panel.is-small {
flex: 0 0 15rem;
}
.dashboard-panel.is-medium {
flex: 0 0 20rem;
}
.dashboard-panel.is-large {
flex: 0 0 30rem;
}
.dashboard-panel-header.is-centered, .dashboard-panel-content.is-centered, .dashboard-panel-footer.is-centered {
display: flex;
justify-content: center;
}
.dashboard-panel-header {
margin-bottom: 2rem;
}
.dashboard-panel-main {
flex: 1;
}
.dashboard-panel-footer {
margin-top: 2rem;
}
.dashboard-main {
display: flex;
flex: 1;
display: flex;
flex-direction: column;
min-height: 100vh;
}
.dashboard-main .navbar.is-fixed-top {
position: -webkit-sticky;
position: sticky;
top: 0;
}
.dashboard-main .footer {
flex: 1;
}
/*# sourceMappingURL=bulma-dashboard.css.map */
.section{
padding: 0;
position: relative;
width: 100%;
height: 100%;
}
.footer{
padding: 0;
}
img{
width: 30%;
}
.menu-label{
font-size: 1.2rem;
font-weight: bold;
margin: 1rem 0 !important;
color: #3298dc;
}
.menu-list{
font-size: 1rem;
}
.menu-ol{
padding-left: 3rem;
}
.menu-list a{
color: #fff;
}
a{
color: #fff;
}

201
index.htm
View File

@ -8,84 +8,14 @@
<title>前端特效</title> <title>前端特效</title>
<script src="https://unpkg.com/vue@next"></script> <script src="https://unpkg.com/vue@next"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bulma@0.9.2/css/bulma.min.css">
<link rel="stylesheet" href="./index.css">
</head> </head>
<style>
#container {
position: fixed;
width: 100vw;
height: 100vh;
display: flex;
top: 0;
left: 0;
}
ul {
list-style: none;
font-size: 1.2rem;
padding: 0;
}
.tx-list {
width: 300px;
}
.tx-ifram {
flex: 1;
/* border: 1px solid; */
position: relative;
}
iframe {
position: absolute;
width: 100%;
height: 100%;
}
.tx-ol {
cursor: pointer;
margin: 10px 0;
}
.tx-ol:hover {
color: aqua;
}
.github-corner:hover .octo-arm {
animation: octocat-wave 560ms ease-in-out
}
@keyframes octocat-wave {
0%,
100% {
transform: rotate(0)
}
20%,
60% {
transform: rotate(-25deg)
}
40%,
80% {
transform: rotate(10deg)
}
}
@media (max-width:500px) {
.github-corner:hover .octo-arm {
animation: none
}
.github-corner .octo-arm {
animation: octocat-wave 560ms ease-in-out
}
}
</style>
<body> <body>
<div id="container">
<a href="https://github.com/KeiferJu/css3-tx" class="github-corner" aria-label="View source on GitHub"><svg <div class="dashboard is-full-height" id="container">
<!-- <a href="https://github.com/KeiferJu/css3-tx" class="github-corner" aria-label="View source on GitHub"><svg
width="80" height="80" viewBox="0 0 250 250" width="80" height="80" viewBox="0 0 250 250"
style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;z-index: 999;" aria-hidden="true"> style="fill:#151513; color:#fff; position: absolute; top: 0; border: 0; right: 0;z-index: 999;" aria-hidden="true">
<path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path> <path d="M0,0 L115,115 L130,115 L142,142 L250,250 L250,0 Z"></path>
@ -96,35 +26,114 @@
d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z" d="M115.0,115.0 C114.9,115.1 118.7,116.5 119.8,115.4 L133.7,101.6 C136.9,99.2 139.9,98.4 142.2,98.6 C133.8,88.0 127.5,74.4 143.8,58.0 C148.5,53.4 154.0,51.2 159.7,51.0 C160.3,49.4 163.2,43.6 171.4,40.1 C171.4,40.1 176.1,42.5 178.8,56.2 C183.1,58.6 187.2,61.8 190.9,65.4 C194.5,69.0 197.7,73.2 200.1,77.6 C213.8,80.2 216.3,84.9 216.3,84.9 C212.7,93.1 206.9,96.0 205.4,96.6 C205.1,102.4 203.0,107.8 198.3,112.5 C181.9,128.9 168.3,122.5 157.7,114.1 C157.9,116.9 156.7,120.9 152.7,124.9 L141.0,136.5 C139.8,137.7 141.6,141.9 141.8,141.8 Z"
fill="currentColor" class="octo-body"></path> fill="currentColor" class="octo-body"></path>
</svg> </svg>
</a> </a> -->
<div class="tx-list"> <!-- left panel -->
<h3 style="padding-left: 10px;" v-if="txlists && txlists.length > 0">特效</h3> <div class="dashboard-panel is-medium has-thick-padding has-background-grey-lighter is-hidden-mobile">
<ol> <header class="dashboard-panel-header">
<li v-for="list in txlists" class="tx-ol"> <div class="has-text-centered">
<div @click="todoPage(list.url)">{{list.name}}</div> <img src="http://dllcnx.com:10010/album/icon/icon.png" width="50%">
</li> </div>
</header>
<div class="dashboard-panel-content is-scrollable" style="padding: 0 2rem;">
<aside class="menu has-text-white">
<div v-for="list in lists">
<p class="menu-label">
{{list.title}}
</p>
<ul class="menu-list">
<template v-for="item in list.data">
<template v-if="item.data && item.data.length > 0">
<li>
<a>{{item.name}}</a>
<ol class="menu-list menu-ol">
<template v-for="iitem in item.data">
<li @click="todoPage(iitem)"><a>{{iitem.name}}</a></li>
</template>
</ol> </ol>
<h3 style="padding-left: 10px;" v-if="canvaslists && canvaslists.length > 0">Canvas背景</h3>
<ol>
<li v-for="list in canvaslists" class="tx-ol">
<div @click="todoPage(list.url)">{{list.name}}</div>
</li> </li>
</ol>
<h3 style="padding-left: 10px;" v-if="loadinglists && loadinglists.length > 0">loading动画</h3> </template>
<ol>
<li v-for="list in loadinglists" class="tx-ol"> <template v-else>
<div @click="todoPage(list.url)">{{list.name}}</div> <li @click="todoPage(item)"><a>{{item.name}}</a></li>
</li> </template>
</ol> </template>
</ul>
</div> </div>
<div class="tx-ifram"> </aside>
</div>
</div>
<!-- main section -->
<div class="dashboard-main is-scrollable">
<nav class="navbar is-fixed-top is-dark">
<div class="navbar-menu">
<div class="navbar-start">
<span class="navbar-item">
{{pageName}}
</span>
</div>
<div class="navbar-end">
<span class="navbar-item">
<div class="buttons">
<button class="button is-info is-focused is-small">
<a href="http://myllcn.com/">HOME</a>
</button>
<button class="button is-success is-focused is-small">
<a href="http://dllcnx.com:10020/">BLOG</a>
</button>
<button class="button is-warning is-focused is-small">
<a href="http://dllcnx.com:9000/blog/jkf19980216">NOTE</a>
</button>
<button class="button is-danger is-focused is-small">
<a href="https://github.com/KeiferJu/css3-tx">GITHUB</a>
</button>
</div>
</span>
</div>
</div>
</nav>
<section class="section">
<iframe :src="pageurl"></iframe> <iframe :src="pageurl"></iframe>
</div> </section>
</div> </div>
</div>
</body> </body>
<script src="./index.js" type="module"></script> <script type="module">
import {
config
} from "./config.js";
const HelloVueApp = {
data() {
return {
// txlists: [],
lists: [],
pageurl: "",
pageName: ""
}
},
created() {
this.lists = config ? config : [];
this.pageurl = config[0].data[0].url;
this.pageName = config[0].data[0].name;
},
methods: {
todoPage(item) {
this.pageurl = item.url;
this.pageName = item.name;
}
}
}
Vue.createApp(HelloVueApp).mount('#container')
</script>
</html> </html>

View File

@ -1,23 +0,0 @@
import { config } from "./config.js";
const HelloVueApp = {
data() {
return {
txlists: [],
pageurl: ""
}
},
created() {
this.txlists = config.txlists ? config.txlists : [];
this.canvaslists = config.canvaslists ? config.canvaslists : [];
this.loadinglists = config.loadinglists ? config.loadinglists : [];
this.pageurl = this.canvaslists[0].url
},
methods: {
todoPage(url) {
this.pageurl = url;
}
}
}
Vue.createApp(HelloVueApp).mount('#container')