Toggle navigation
在线编辑器
在线代码
文本比较
jQuery下载
前端库
在线手册
登录/注册
下载代码
html
css
js
分享到微信朋友圈
X
html
{{ state.view }}
{{ animation }}
css
* { box-sizing: border-box; } body { background: #202020; font-size: 62.5%; } #app { overflow: hidden; position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; background: #4c4c4c; background: -webkit-gradient(left top, right bottom, color-stop(0%, #4c4c4c), color-stop(36%, rgba(43, 43, 43, 0.74)), color-stop(71%, rgba(28, 28, 28, 0.5)), color-stop(100%, rgba(19, 19, 19, 0.29))); background: linear-gradient(135deg, #4c4c4c 0%, rgba(43, 43, 43, 0.74) 36%, rgba(28, 28, 28, 0.5) 71%, rgba(19, 19, 19, 0.29) 100%); filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#4c4c4c", endColorstr="#131313", GradientType=1 ); color: #fff; } .controls { position: absolute; left: 50%; bottom: 40px; transform: translate(-50%, 0); width: 100%; margin-top: 30px; text-align: center; padding: 0; } .controls li { opacity: 0.6; cursor: pointer; overflow: hidden; display: inline-block; height: 30px; margin: 0 10px; padding: 0 30px; border-radius: 10px; font: 0.8rem/30px Arial, sans-serif; font-family: "Ubuntu", Helvetica, Arial, sans-serif; background: #505050; } .controls li.active { background: #b6b6b6; } .page { position: absolute; left: 0; top: 0; width: 100vw; height: 100vh; background: #c0c0c0; } .page .center { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100%; font-size: 3rem; text-align: center; } .page h1 { width: 100%; margin: 0; padding: 0; font-family: "Ubuntu", Helvetica, Arial, sans-serif; font-size: 2.8rem; text-transform: capitalize; } .page p { font-family: "Vollkorn", Georgia, Times, serif; font-size: 1.1rem; } .page a { transition: color 200ms ease-out; color: rgba(153, 153, 153, 0.8); } .page a:hover { color: rgba(102, 102, 102, 0.8); } .active-animation { position: absolute; top: 30px; left: 50%; transform: translate(-50%, 0); } .fade { background: #461467; } .slide { background: #ffba57; } .zoom { background: #ffc8bb; } .flipX { background: #00dfcf; } .flipY { background: #8ed3c9; } .slideUp { background: #f5dd79; }
JavaScript
// State const state = { animations: ['fade', 'slide', 'slideUp', 'zoom', 'flipX', 'flipY'], view: 'slide' } // Controls const controls = Vue.component('controls', { template: '#controls', data: state, methods: { setView(animation) { state.view = animation } } }) // Transitions const fade = Vue.component('fade', { template: '#page', methods: { enter(el, done) { TweenMax.fromTo(el, 1, { autoAlpha: 0, scale: 1.5, }, { autoAlpha: 1, scale: 1, transformOrigin: '50% 50%', ease: Power4.easeOut, onComplete: done }); }, leave(el, done) { TweenMax.fromTo(el, 1, { autoAlpha: 1, scale: 1, }, { autoAlpha: 0, scale: 0.8, ease: Power4.easeOut, onComplete: done }); } } }) const slide = Vue.component('slide', { template: '#page', methods: { enter(el, done) { const tl = new TimelineMax({ onComplete: done }) tl.set(el, { x: window.innerWidth * 1.5, scale: 0.8, transformOrigin: '50% 50%' }) tl.to(el, 0.5, { x: 0, ease: Power4.easeOut }); tl.to(el, 1, { scale: 1, ease: Power4.easeOut }); }, leave(el, done) { TweenMax.fromTo(el, 1, { autoAlpha: 1 }, { autoAlpha: 0, ease: Power4.easeOut, onComplete: done }); } } }) const slideUp = Vue.component('slideUp', { template: '#page', methods: { enter(el, done) { const tl = new TimelineMax({ onComplete: done }) tl.set(el, { y: window.innerWidth * 1.5, scale: 0.8, transformOrigin: '50% 50%' }) tl.to(el, 0.5, { y: 0, ease: Power4.easeOut }); tl.to(el, 1, { scale: 1, ease: Power4.easeOut }); }, leave(el, done) { TweenMax.to(el, 1, { y: window.innerHeight * -1.5, ease: Power4.easeOut, onComplete: done }); } } }) const zoom = Vue.component('zoom', { template: '#page', methods: { enter(el, done) { const tl = new TimelineMax({ onComplete: done }) tl.set(el, { autoAlpha: 0, scale: 2, transformOrigin: '50% 50%' }) tl.to(el, 1, { autoAlpha: 1, scale: 1, ease: Power4.easeOut }) }, leave(el, done) { TweenMax.to(el, 1, { scale: 0, ease: Power4.easeOut, onComplete: done }); } } }) const flipX = Vue.component('flipX', { template: '#page', methods: { enter(el, done) { const tl = new TimelineMax({ onComplete: done }) tl.set(el, { autoAlpha: 0, rotationX: 90, transformOrigin: '50% 50%' }) tl.to(el, 1, { autoAlpha: 1, rotationX: 0, ease: Power4.easeOut }) }, leave(el, done) { TweenMax.to(el, 1, { scale: 0, ease: Power4.easeOut, onComplete: done }); } } }) const flipY = Vue.component('flipY', { template: '#page', methods: { enter(el, done) { const tl = new TimelineMax({ onComplete: done }) tl.set(el, { autoAlpha: 0, rotationY: 90, transformOrigin: '50% 50%' }) tl.to(el, 1, { autoAlpha: 1, rotationY: 0, ease: Power4.easeOut }) }, leave(el, done) { TweenMax.to(el, 1, { scale: 0, ease: Power4.easeOut, onComplete: done }); } } }) // App const app = new Vue({ el: '#app', data() { return state } })
粒子
时间
文字
hover
canvas
3d
游戏
音乐
火焰
水波
轮播图
鼠标跟随
动画
css
加载动画
导航
菜单
按钮
滑块
tab
弹出层
统计图
svg
×
Close
在线代码下载提示
开通在线代码永久免费下载,需支付20jQ币
开通后,在线代码模块中所有代码可终身免费下!
您已开通在线代码永久免费下载,关闭提示框后,点下载代码可直接下载!
您已经开通过在线代码永久免费下载
对不起,您的jQ币不足!可通过发布资源 或
直接充值获取jQ币
取消
开通下载
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Vue页面切换-jq22.com</title> <script src="https://www.jq22.com/jquery/jquery-1.10.2.js"></script> <style>
</style> </head> <body>
<script>
</script>
</body> </html>
2012-2021 jQuery插件库版权所有
jquery插件
|
jq22工具库
|
网页技术
|
广告合作
|
在线反馈
|
版权声明
沪ICP备13043785号-1
浙公网安备 33041102000314号