mo实现表白按钮动画效果代码
代码语言:html
所属分类:动画
代码描述:mo实现表白按钮动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<html lang="en" class=" -webkit-"><head>
<meta charset="UTF-8">
<style>
body, html {
padding: 0;
margin: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
body {
background: rgba(241, 226, 215, 0.2);
position: relative;
background: #FD5061;
font-family: Arial, Open Sans, sans-serif;
}
.character {
color: white;
font-size: 68px;
position: absolute;
left:0;
top: 0;
bottom: 0;
right:0;
text-align: center;
line-height: .475;
font-family: Oswald, monospace;
}
.add-button {
overflow: hidden;
border-radius: 50%;
}
.modal-wrapper {
position: absolute;
width: 248px;
height: 184px;
margin-left: -124px;
margin-top: -92px;
left: 50%;
top: 50%;
z-index: 1;
}
.modal,
.modal__shake {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
}
.modal-shape {
border-radius: 35px;
box-shadow: 5px 5px 0 rgba(0,0,0,.25);
overflow: hidden;
}
.modal__inner {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
z-index: 1;
opacity: 0;
}
.modal__text {
text-align: center;
font-size: 16px;
position: absolute;
width: 100%;
height: 50px;
padding-top: 34px;
color: #29363B;
letter-spacing: 1px;
backface-visibility: hidden;
}
.modal__buttons {
position: absolute;
bottom: 25px;
left: 0;
width: 100%;
text-align: center;
}
.modal__button {
background: white;
border-radius: 40px;
display: inline-block;
padding: 5px 10px;
width: 65px;
text-align: center;
font-size: 14px;
cursor: pointer;
color: #29363B;
letter-spacing: 1px;
backface-visibility: hidden;
}
.modal__button:hover {
opacity: 0.95;
}
.modal__button--love {
transform: rotate(3deg);
}
.modal__button--hate {
margin-left: 15px;
transform: rotate(-2deg);
}
.layer {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
transform: scale(0);
}
.layer--modal {
z-index: 5;
}
.layer--modal-hide {
z-index: 10;
}
</style>
<style type="text/css">._handle_q1som_5 {
width: 13px;
width: 13px;
width: 0.8125rem;
height: 13px;
height: 13px;
height: 0.8125rem;
cursor: pointer;
-webkit-transform: translateX(0);
transform: translateX(0)
/*backface-visibility: hidden;*/
}
._handle__inner_q1som_1, ._handle__shadow_q1som_1 {
position: absolute;
left: 0;
top: 0;
z-index: 1;
width: 100%;
height: 100%;
border-radius: 50%;
cursor: pointer;
/*transform: translateZ(0);*/
-webkit-backface-visibility: hidden;
backface-visibility: hidden
}
._handle__inner_q1som_1 {
background: #FFF
}
._handle__shadow_q1som_1 {
box-shadow: 0.0625rem 0.0625rem 0.125rem black;
opacity: .35;
z-index: 0
}
._handle_q1som_5:hover ._handle__inner_q1som_1, ._handle_q1som_5:hover ._handle__shadow_q1som_1 {
-webkit-transform: scale(1.1);
transform: scale(1.1)
}
._handle_q1som_5:active ._handle__inner_q1som_1 {
-webkit-transform: scale(1.2);
transform: scale(1.2)
/*box-shadow: calc( $PX ) calc( $PX ) calc( 1*$PX ) rgba(0,0,0,.35);*/
}
._handle_q1som_5:active ._handle__shadow_q1som_1 {
opacity: .85;
-webkit-transform: scale(1);
transform: scale(1)
}
._handle_q1som_5._is-bound_q1som_54 {
width: 9px;
width: 9px;
width: 0.5625rem;
height: 20px;
height: 20px;
height: 1.25rem;
margin-left: -9px;
margin-left: -9px;
margin-left: -0.5625rem;
margin-top: -10px;
margin-top: -10px;
margin-top: -0.625rem
}
._handle_q1som_5._is-bound_q1som_54 ._handle__inner_q1som_1 {
background: #FF512F
}
._handle_q1som_5._is-bound_q1som_54 ._handle__inner_q1som_1:after {
content: '';
position: absolute;
right: 0;
top: 50%;
margin-top: -20px;
margin-top: -20px;
margin-top: -1.25rem;
width: 1px;
width: 1px;
width: 0.0625rem;
height: 40px;
height: 40px;
height: 2.5rem;
background: #FF512F
}
._handle_q1som_5._is-bound_q1som_54 ._handle__inner_q1som_1, ._handle_q1som_5._is-bound_q1som_54 ._handle__shadow_q1som_1 {
border-top-left-radius: 3px;
border-top-left-radius: 3px;
border-top-left-radius: 0.1875rem;
border-bottom-left-radius: 3px;
border-bottom-left-radius: 3px;
border-bottom-left-radius: 0.1875rem;
border-top-right-radius: 0;
border-bottom-right-radius: 0
}
._handle_q1som_5._is-inversed_q1som_82 {
margin-left: 0
}
._handle_q1som_5._is-inversed_q1som_82 ._handle__shadow_q1som_1 {
box-shadow: -0.0625rem 0.0625rem 0.125rem black
}
._handle_q1som_5._is-inversed_q1som_82 ._handle__inner_q1som_1 {
border-top-left-radius: 0;
border-bottom-left-radius: 0;
border-top-right-radius: 3px;
border-top-right-radius: 3px;
border-top-right-radius: 0.1875rem;
border-bottom-right-radius: 3px;
border-bottom-right-radius: 3px;
border-bottom-right-radius: 0.1875rem
}
._handle_q1som_5._is-inversed_q1som_82 ._handle__inner_q1som_1:after {
right: auto;
left: 0
}
</style><style type="text/css">._track_1inlw_5 {
position: relative;
height: 100%
}
._track__track_1inlw_1 {
position: absolute;
top: 50%;
left: 0;
width: 100%;
height: 1px;
height: 1px;
height: 0.0625rem;
background: #FFF;
box-shadow: 0.0625rem 0.0625rem 0.0625rem rgba(0,0,0,.5)
}
._track__track_1inlw_1:after {
content: '';
position: absolute;
left: 0;
top: -20px;
top: -20px;
top: -1.25rem;
width: 100%;
height: 40px;
height: 40px;
height: 2.5rem;
cursor: pointer
/*background-color: yellow;*/
}
._track__track-progress_1inlw_1 {
position: absolute;
left: 0;
top: 50%;
margin-top: -1px;
margin-top: -1px;
margin-top: -0.0625rem;
height: 3px;
height: 3px;
height: 0.1875rem;
width: 1px;
/*background: $c-orange;*/
background: #FFFFFF;
z-index: 1;
-webkit-transform-origin: left center;
transform-origin: left center
}
._track__track-progress_1inlw_1:after {
content: '';
position: absolute;
left: 0;
top: -20px;
top: -20px;
top: -1.25rem;
width: 100%;
height: 40px;
height: 40px;
height: 2.5rem;
cursor: pointer
/*background-color: yellow;*/
}
._track__ripple_1inlw_1 {
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
overflow: hidden;
z-index: 1
}
._track_1inlw_5._is-inversed_1inlw_65 {
left: auto;
right: 0
}
._track_1inlw_5._is-inversed_1inlw_65 ._track__track-progress_1inlw_1 {
-webkit-transform-origin: right center;
transform-origin: right center
}
._track_1inlw_5._is-bound_1inlw_74 ._track__track-progress_1inlw_1 {
background: #FF512F
}
._track_1inlw_5._is-y_1inlw_78 ._track__track_1inlw_1 {
top: 0;
left: 50%;
height: 100%;
width: 1px;
width: 1px;
width: 0.0625rem
/*box-shadow: calc( $PX ) calc( $PX ) calc( $PX ) rgba(0,0,0,.5); */
}
</style><style type="text/css">/*@import './handle.postcss.css';*/
._slider_14t9x_6 {
position: relative;
width: 100%;
height: 30px;
height: 30px;
height: 1.875rem
}
._slider__inner_14t9x_1 {
width: 100%;
height: 100%;
position: relative
}
._slider_14t9x_6 ._handle_14t9x_17, ._slider_14t9x_6 ._progress-handle_14t9x_18 {
z-index: 3;
position: absolute;
top: 50%
}
._slider_14t9x_6 ._progress-handle_14t9x_18 {
left: 0;
margin-left: -6.5px;
margin-left: -6.5px;
margin-left: -0.40625rem;
margin-top: -6.5px;
margin-top: -6.5px;
margin-top: -0.40625rem
}
._slider_14t9x_6 ._track_14t9x_30 {
z-index: 2
}
._slider_14t9x_6._is-y_14t9x_34 {
width: 30px;
width: 30px;
width: 1.875rem;
height: 100%;
}
._slider_14t9x_6._is-y_14t9x_34 ._handle_14t9x_17 {
left: 50%;
top: auto;
bottom: 0;
margin-top: 0;
margin-bottom: -6.5px;
margin-bottom: -6.5px;
margin-bottom: -0.40625rem
}
</style><style type="text/css">/*@import './handle.postcss.css';*/
._player-slider_1t00q_6 {
/*overflow: hidden;*/
height: 40px;
height: 40px;
height: 2.5rem
}
._player-slider_1t00q_6 > div {
position: absolute;
left: 0;
top: 0;
z-index: 2
}
._player-slider_1t00q_6 ._slider_1t00q_15 {
z-index: 1;
height: 100%
}
</style><style type="text/css">._icon_y498a_5 {
position: relative;
width: 12px;
width: 12px;
width: 0.75rem;
height: 12px;
height: 12px;
height: 0.75rem;
cursor: pointer
}
._icon_y498a_5 > svg {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
fill: inherit
}
._icon_y498a_5 > svg > use {
fill: inherit
}
._icon_y498a_5:after {
content: '';
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 1
}
._icon_y498a_5._is-x2_y498a_33 {
width: 16px;
width: 16px;
width: 1rem;
height: 16px;
height: 16px;
height: 1rem
}
</style><style type="text/css">._button_r3ni6_4 {
position: relative;
width: 35px;
width: 35px;
width: 2.1875rem;
height: 40px;
height: 40px;
height: 2.5rem;
cursor: pointer;
fill: #FFF;
display: inline-block
}
._button__ripple_r3ni6_1 {
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 5;
overflow: hidden
}
._button__ripple_r3ni6_1:after {
content: "";
position: absolute;
left: 0;
right: 0;
top: 0;
bottom: 0;
z-index: 1;
cursor: pointer
}
._button_r3ni6_4:hover {
opacity: .85
}
._button_r3ni6_4:active {
opacity: 1
}
</style><style type="text/css">._icon-button_1yshr_4 {
/* styles */
}
._icon-button_1yshr_4 ._icon_1yshr_4 {
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate( -50%, -50% );
transform: translate( -50%, -50% )
}
</style><style type="text/css">._button-switch_1g5lg_4 {
position: relative;
display: inline-block
}
._button-switch_1g5lg_4 > ._icon_1g5lg_8 {
position: absolute
}
._button-switch_1g5lg_4:after {
content: "";
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
z-index: 1
}
</style><style type="text/css">._label-button_1cxps_4 {
font-family: Arial, sans-serif;
font-size: 9px;
font-size: 9px;
font-size: 0.5625rem;
letter-spacing: 0.5px;
letter-spacing: 0.5px;
letter-spacing: 0.03125rem;
color: white
}
._label-button__label_1cxps_1 {
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate( -50%, -50% );
transform: translate( -50%, -50% )
}
</style><style type="text/css">._speed-control_1svrw_4 {
position: relative;
display: inline-block;
height: 40px;
height: 40px;
height: 2.5rem
}
._speed-control__slider_1svrw_1 {
position: absolute;
bottom: 100%;
left: 3px;
left: 3px;
left: 0.1875rem;
width: 30px;
width: 30px;
width: 1.875rem;
height: 80px;
height: 80px;
height: 5rem;
padding-top: 20px;
padding-top: 20px;
padding-top: 1.25rem;
padding-bottom: 20px;
padding-bottom: 20px;
padding-bottom: 1.25rem;
border-top-right-radius: 3px;
border-top-right-radius: 3px;
border-top-right-radius: 0.1875rem;
border-top-left-radius: 3px;
border-top-left-radius: 3px;
border-top-left-radius: 0.1875rem;
background: #3A0839;
-webkit-transform: translate(-6249999.9375rem, -6249999.9375rem);
transform: translate(-6249999.9375rem, -6249999.9375rem);
-webkit-backface-visibility: hidden;
backface-visibility: hidden
}
._speed-control__slider_1svrw_1:before, ._speed-control__slider_1svrw_1:after {
content: '';
position: absolute;
top: 50%;
width: 3px;
width: 3px;
width: 0.1875rem;
height: 1px;
height: 1px;
height: 0.0625rem;
background: #FFF
}
._speed-control__slider_1svrw_1:before {
left: 5px;
left: 5px;
left: 0.3125rem
}
._speed-control__slider_1svrw_1:after {
right: 5px;
right: 5px;
right: 0.3125rem
}
._speed-control__button_1svrw_1 {
border: 1px solid cyan
}
._speed-control_1svrw_4._is-on_1svrw_48 ._speed-control__slider_1svrw_1 {
-webkit-transform: translate(0, 0);
transform: translate(0, 0)
}
</style><style type="text/css">._icon-fork_csg7t_4 {
}
._icon-fork_csg7t_4 > ._icon_csg7t_4 {
/*position: absolute;*/
opacity: 0;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate( -50%, -50% );
transform: translate( -50%, -50% )
}
._icon-fork_csg7t_4 > ._icon_csg7t_4:nth-of-type(3) {
position: absolute;
opacity: 1
}
._icon-fork_csg7t_4._is-on_csg7t_18 > ._icon_csg7t_4:nth-of-type(2) {
opacity: 1
}
._icon-fork_csg7t_4._is-on_csg7t_18 > ._icon_csg7t_4:nth-of-type(3) {
opacity: 0
}
</style><style type="text/css">._play-button_16uj5_4 {
/* styles */
}
</style><style type="text/css">._stop-button_lpa7l_4 {
/* styles */
}
</style><style type="text/css">._opacity-switch_17z5s_4 {
opacity: .5;
}
._opacity-switch_17z5s_4 ._icon_17z5s_6 {
position: absolute;
left: 50%;
top: 50%;
-webkit-transform: translate(-50%, -50%);
transform: translate(-50%, -50%);
}
._opacity-switch_17z5s_4:hover {
opacity: .4;
}
._opacity-switch_17z5s_4._is-on_17z5s_15 {
opacity: 1;
}
._opacity-switch_17z5s_4._is-on_17z5s_15:hover {
opacity: .85;
}
</style><style type="text/css">._repeat-button_1ce74_4 {
/* styles */
}
</style><style type="text/css">._hide-button_1hqr2_4 {
width: 22px;
width: 22px;
width: 1.375rem;
height: 16px;
height: 16px;
height: 1rem;
background: #3A0839;
border-top-left-radius: 3px;
border-top-left-radius: 3px;
border-top-left-radius: 0.1875rem;
border-top-right-radius: 3px;
border-top-right-radius: 3px;
border-top-right-radius: 0.1875rem
}
._hide-button__icon_1hqr2_1 {
position: absolute;
left: 50%;
top: 50%;
width: 8px;
width: 8px;
width: 0.5rem;
height: 8px;
height: 8px;
height: 0.5rem;
margin-top: 1px;
margin-top: 1px;
margin-top: 0.0625rem;
-webkit-transform: translate( -50%, -50% );
transform: translate( -50%, -50% )
}
._hide-button_1hqr2_4._is-hidden_1hqr2_24 ._hide-button__icon_1hqr2_1 {
-webkit-transform: translate( -50%, -65% ) rotate( 180deg );
transform: translate( -50%, -65% ) rotate( 180deg )
}
</style><style type="text/css">._mojs-player_tes6w_4 {
position: fixed;
left: 0;
bottom: 0;
width: 100%;
height: 40px;
height: 40px;
height: 2.5rem;
background: rgba( 58, 8, 57, .85 );
z-index: 100
}
._mojs-player__left_tes6w_1 {
position: absolute;
left: 0;
width: 175px;
width: 175px;
width: 10.9375rem
}
._mojs-player__mid_tes6w_1 {
position: absolute;
left: 175px;
left: 175px;
left: 10.9375rem;
right: 35px;
right: 35px;
right: 2.1875rem;
overflow: hidden;
padding: 0 20px;
padding: 0 20px;
padding: 0 1.25rem
}
._mojs-player__right_tes6w_1 {
position: absolute;
right: 0
}
._mojs-player__hide-button_tes6w_1 {
position: absolute;
right: 6px;
right: 6px;
right: 0.375rem;
bottom: 100%
}
._mojs-player_tes6w_4._is-hidden_tes6w_41 {
-webkit-transform: translateY(100%);
transform: translateY(100%)
}
._mojs-player_tes6w_4._is-transition_tes6w_44 {
-webkit-transition: all .15s ease-out;
transition: all .15s ease-out
}
</style></head>
<body >
<div id="js-modal-layer" class="layer layer--modal"></div>
<div id="js-modal-hide-layer" class="layer layer--modal-hide"></div>
<div class="scene" id="js-scene"></div>
<script id="js-modal-template" type="text/template">
<div class="modal__text" id="js-modal-text">
The web + motion <br /> is
</div>
<div class="modal__buttons">
<div class="modal__button modal__button--love" id="js-button-love">love</div>
<div class="modal__button modal__button--hate" id="js-button-hate">hate</div>
</div>
</script>
<!-- ABOUT LINK -->
<style> .what:hover { cursor: pointer; opacity: .75; } .what {display: block;width: 28px;height: 28px;position: fixed;right: 20px;bottom: 20px;background-size: 100% 100%; background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+PHN2ZyB3aWR0aD0iMjNweCIgaGVpZ2h0PSIyM3B4IiB2aWV3Qm94PSIwIDAgMjMgMjMiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+U2xpY2UgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPHBhdGggZD0iTTExLjUsMjIgQzE3LjI5ODk4OTksMjIgMjIsMTcuMjk4OTg5OSAyMiwxMS41IEMyMiw1LjcwMTAxMDEzIDE3LjI5ODk4OTksMSAxMS41LDEgQzUuNzAxMDEwMTMsMSAxLDUuNzAxMDEwMTMgMSwxMS41IEMxLDE3LjI5ODk4OTkgNS43MDEwMTAxMywyMiAxMS41LDIyIFoiIGlkPSJPdmFsIiBzdHJva2U9IiMzQTA1M0EiIGZpbGw9IiNGRkZGRkYiPjwvcGF0aD4gICAgICAgIDxwYXRoIGQ9Ik0xMi4yNzkyOTY5LDEzLjQ2Mjg5MDYgTDEwLjc4NTE1NjIsMTMuNDYyODkwNiBDMTAuNzgxMjUsMTMuMjQ4MDQ1OCAxMC43NzkyOTY5LDEzLjExNzE4NzcgMTAuNzc5Mjk2OSwxMy4wNzAzMTI1IEMxMC43NzkyOTY5LDEyLjU4NTkzNTEgMTAuODU5Mzc0MiwxMi4xODc1MDE2IDExLjAxOTUzMTIsMTEuODc1IEMxMS4xNzk2ODgzLDExLjU2MjQ5ODQgMTEuNDk5OTk3NiwxMS4yMTA5Mzk1IDExLjk4MDQ2ODgsMTAuODIwMzEyNSBDMTIuNDYwOTM5OSwxMC40Mjk2ODU1IDEyLjc0ODA0NjQsMTAuMTczODI4NyAxMi44NDE3OTY5LDEwLjA1MjczNDQgQzEyLjk4NjMyODgsOS44NjEzMjcxNyAxMy4wNTg1OTM4LDkuNjUwMzkxNzggMTMuMDU4NTkzOCw5LjQxOTkyMTg4IEMxMy4wNTg1OTM4LDkuMDk5NjA3NzcgMTIuOTMwNjY1Myw4LjgyNTE5NjQ2IDEyLjY3NDgwNDcsOC41OTY2Nzk2OSBDMTIuNDE4OTQ0LDguMzY4MTYyOTIgMTIuMDc0MjIwOSw4LjI1MzkwNjI1IDExLjY0MDYyNSw4LjI1MzkwNjI1IEMxMS4yMjI2NTQyLDguMjUzOTA2MjUgMTAuODczMDQ4Myw4LjM3MzA0NTY4IDEwLjU5MTc5NjksOC42MTEzMjgxMiBDMTAuMzEwNTQ1NSw4Ljg0OTYxMDU3IDEwLjExNzE4OCw5LjIxMjg4ODE4IDEwLjAxMTcxODgsOS43MDExNzE4OCBMOC41LDkuNTEzNjcxODggQzguNTQyOTY4OTYsOC44MTQ0NDk2MyA4Ljg0MDgxNzU1LDguMjIwNzA1NTcgOS4zOTM1NTQ2OSw3LjczMjQyMTg4IEM5Ljk0NjI5MTgzLDcuMjQ0MTM4MTggMTAuNjcxODcwNSw3IDExLjU3MDMxMjUsNyBDMTIuNTE1NjI5Nyw3IDEzLjI2NzU3NTMsNy4yNDcwNjc4NCAxMy44MjYxNzE5LDcuNzQxMjEwOTQgQzE0LjM4NDc2ODQsOC4yMzUzNTQwMyAxNC42NjQwNjI1LDguODEwNTQzNTkgMTQuNjY0MDYyNSw5LjQ2Njc5Njg4IEMxNC42NjQwNjI1LDkuODMwMDc5OTQgMTQuNTYxNTI0NSwxMC4xNzM4MjY1IDE0LjM1NjQ0NTMsMTAuNDk4MDQ2OSBDMTQuMTUxMzY2MiwxMC44MjIyNjcyIDEzLjcxMjg5NCwxMS4yNjM2NjkxIDEzLjA0MTAxNTYsMTEuODIyMjY1NiBDMTIuNjkzMzU3NiwxMi4xMTEzMjk2IDEyLjQ3NzUzOTUsMTIuMzQzNzQ5MSAxMi4zOTM1NTQ3LDEyLjUxOTUzMTIgQzEyLjMwOTU2OTksMTIuNjk1MzEzNCAxMi4yNzE0ODQzLDEzLjAwOTc2MzQgMTIuMjc5Mjk2OSwxMy40NjI4OTA2IEwxMi4yNzkyOTY5LDEzLjQ2Mjg5MDYgWiBNMTAuNzg1MTU2MiwxNS42Nzc3MzQ0IEwxMC43ODUxNTYyLDE0LjAzMTI1IEwxMi40MzE2NDA2LDE0LjAzMTI1IEwxMi40MzE2NDA2LDE1LjY3NzczNDQgTDEwLjc4NTE1NjIsMTUuNjc3NzM0NCBaIiBpZD0iPyIgZmlsbD0iIzNBMDUzQSI+PC9wYXRoPiAgICA8L2c+PC9zdmc+);}</style><a href="http://mojs.io/tutorials/shape/" class="what" title="tutorial" target="_blank"></a>
<!-- ABOUT LINK -->
<script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/mo.min.js"></script>
<script type="module">
// the readable code is here: https://github.com/legomushroom/shape-demo3
/******/ (function(modules) { // webpackBootstrap
/******/ // The module cache
/******/ var installedModules = {};
/******/ // The require function
/******/ function __webpack_require__(moduleId) {
/******/ // Check if module is in cache
/******/ if(installedModules[moduleId])
/******/ return installedModules[moduleId].exports;
/******/ // Create a new module (and put it into the cache)
/******/ var module = installedModules[moduleId] = {
/******/ exports: {},
/******/ id: moduleId,
/******/ loaded: false
/******/ };
/******/ // Execute the module function
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
/******/ // Flag the module as loaded
/******/ module.loaded = true;
/******/ // Return the exports of the module
/******/ return module.exports;
/******/ }
/******/ // expose the modules object (__webpack_modules__)
/******/ __webpack_require__.m = modules;
/******/ // expose the module cache
/******/ __webpack_require__.c = installedModules;
/******/ // __webpack_public_path__
/******/ __webpack_require__.p = "build/";
/******/ // Load entry module and return exports
/******/ return __webpack_require__(0);
/******/ })
/************************************************************************/
/******/ ([
/* 0 */
/***/ function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(1);
/***/ },
/* 1 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
exports.__esModule = true;
var _classCallCheck2 = __webpack_require__(2);
var _classCallCheck3 = _interopRequireDefault(_classCallCheck2);
var _possibleConstructorReturn2 = __webpack_require__(3);
var _possibleConstructorReturn3 = _interopRequireDefault(_possibleConstructorReturn2);
var _inherits2 = __webpack_require__(72);
var _inherits3 = _interopRequireDefault(_inherits2);
var _classlistPolyfill = __webpack_require__(80);
var _classlistPolyfill2 = _interopRequireDefault(_classlistPolyfill);
var _mojsPlayer = __webpack_require__(81);
var _mojsPlayer2 = _interopRequireDefault(_mojsPlayer);
var _module = __webpack_require__(82);
var _module2 = _interopRequireDefault(_module);
var _colors = __webpack_require__(83);
var _colors2 = _interopRequireDefault(_colors);
var _showButton = __webpack_require__(84);
var _showButton2 = _interopRequireDefault(_showButton);
var _modal = __webpack_require__(87);
var _modal2 = _interopRequireDefault(_modal);
var _modalHide = __webpack_require__(100);
var _modalHide2 = _interopRequireDefault(_modalHide);
var _characters = __webpack_require__(101);
var _characters2 = _interopRequireDefault(_characters);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
// require('../css/main.postcss.css');
// const CLASSES = require('../css/main.postcss.css.json');
// import AddButton from './components/add-button/add-button';
var Demo = function (_Module) {
(0, _inherits3.default)(Demo, _Module);
function Demo() {
(0, _classCallCheck3.default)(this, Demo);
return (0, _possibleConstructorReturn3.default)(this, _Module.apply(this, arguments));
}
/*
Method for initial module's render.
@private
*/
Demo.prototype._render = function _render() {
// super._render();
var mainTimeline = new mojs.Timeline();
mainTimeline.add(new _showButton2.default()
// new ModalHide
// new Characters({ delay: 200 })
// new Modal
).play();
// this._findEl( '#js-modal-hide-layer' ).style['transform'] = 'none';
// ;( new MojsPlayer({ add: mainTimeline }) )
// .el.style[ 'z-index' ] = 10;
};
return Demo;
}(_module2.default);
// import Vibro from './components/add-button/vibro-button';
new Demo();
exports.default = Demo;
/***/ },
/* 2 */
/***/ function(module, exports) {
"use strict";
exports.__esModule = true;
exports.default = function (instance, Constructor) {
if (!(instance instanceof Constructor)) {
throw new TypeError("Cannot call a class as a function");
}
};
/***/ },
/* 3 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _typeof2 = __webpack_require__(4);
var _typeof3 = _interopRequireDefault(_typeof2);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = function (self, call) {
if (!self) {
throw new ReferenceError("this hasn't been initialised - super() hasn't been called");
}
return call && ((typeof call === "undefined" ? "undefined" : (0, _typeof3.default)(call)) === "object" || typeof call === "function") ? call : self;
};
/***/ },
/* 4 */
/***/ function(module, exports, __webpack_require__) {
"use strict";
exports.__esModule = true;
var _iterator = __webpack_require__(5);
var _iterator2 = _interopRequireDefault(_iterator);
var _symbol = __webpack_require__(56);
var _symbol2 = _interopRequireDefault(_symbol);
var _typeof = typeof _symbol2.default === "function" && typeof _iterator2.default === "symbol" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default ? "symbol" : typeof obj; };
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
exports.default = typeof _symbol2.default === "function" && _typeof(_iterator2.default) === "symbol" ? function (obj) {
return typeof obj === "undefined" ? "undefined" : _typeof(obj);
} : function (obj) {
return obj && typeof _symbol2.default === "function" && obj.constructor === _symbol2.default ? "symbol" : typeof obj === "undefined" ? "undefined" : _typeof(obj);
};
/***/ },
/* 5 */
/***/ function(module, exports, __webpack_require__) {
module.exports = { "default": __webpack_require__(6), __esModule: true };
/***/ },
/* 6 */
/***/ function(module, exports, __webpack_require__) {
__webpack_require__(7);
__webpack_require__(51);
module.exports = __webpack_require__(55).f('iterator');
/***/ },
/* 7 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var $at = __webpack_require__(8)(true);
// 21.1.3.27 String.prototype[@@iterator]()
__webpack_require__(11)(String, 'String', function(iterated){
this._t = String(iterated); // target
this._i = 0; // next index
// 21.1.5.2.1 %StringIteratorPrototype%.next()
}, function(){
var O = this._t
, index = this._i
, point;
if(index >= O.length)return {value: undefined, done: true};
point = $at(O, index);
this._i += point.length;
return {value: point, done: false};
});
/***/ },
/* 8 */
/***/ function(module, exports, __webpack_require__) {
var toInteger = __webpack_require__(9)
, defined = __webpack_require__(10);
// true -> String#at
// false -> String#codePointAt
module.exports = function(TO_STRING){
return function(that, pos){
var s = String(defined(that))
, i = toInteger(pos)
, l = s.length
, a, b;
if(i < 0 || i >= l)return TO_STRING ? '' : undefined;
a = s.charCodeAt(i);
return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff
? TO_STRING ? s.charAt(i) : a
: TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;
};
};
/***/ },
/* 9 */
/***/ function(module, exports) {
// 7.1.4 ToInteger
var ceil = Math.ceil
, floor = Math.floor;
module.exports = function(it){
return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);
};
/***/ },
/* 10 */
/***/ function(module, exports) {
// 7.2.1 RequireObjectCoercible(argument)
module.exports = function(it){
if(it == undefined)throw TypeError("Can't call method on " + it);
return it;
};
/***/ },
/* 11 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var LIBRARY = __webpack_require__(12)
, $export = __webpack_require__(13)
, redefine = __webpack_require__(28)
, hide = __webpack_require__(18)
, has = __webpack_require__(29)
, Iterators = __webpack_require__(30)
, $iterCreate = __webpack_require__(31)
, setToStringTag = __webpack_require__(47)
, getPrototypeOf = __webpack_require__(49)
, ITERATOR = __webpack_require__(48)('iterator')
, BUGGY = !([].keys && 'next' in [].keys()) // Safari has buggy iterators w/o `next`
, FF_ITERATOR = '@@iterator'
, KEYS = 'keys'
, VALUES = 'values';
var returnThis = function(){ return this; };
module.exports = function(Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED){
$iterCreate(Constructor, NAME, next);
var getMethod = function(kind){
if(!BUGGY && kind in proto)return proto[kind];
switch(kind){
case KEYS: return function keys(){ return new Constructor(this, kind); };
case VALUES: return function values(){ return new Constructor(this, kind); };
} return function entries(){ return new Constructor(this, kind); };
};
var TAG = NAME + ' Iterator'
, DEF_VALUES = DEFAULT == VALUES
, VALUES_BUG = false
, proto = Base.prototype
, $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT]
, $default = $native || getMethod(DEFAULT)
, $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined
, $anyNative = NAME == 'Array' ? proto.entries || $native : $native
, methods, key, IteratorPrototype;
// Fix native
if($anyNative){
IteratorPrototype = getPrototypeOf($anyNative.call(new Base));
if(IteratorPrototype !== Object.prototype){
// Set @@toStringTag to native iterators
setToStringTag(IteratorPrototype, TAG, true);
// fix for some old engines
if(!LIBRARY && !has(IteratorPrototype, ITERATOR))hide(IteratorPrototype, ITERATOR, returnThis);
}
}
// fix Array#{values, @@iterator}.name in V8 / FF
if(DEF_VALUES && $native && $native.name !== VALUES){
VALUES_BUG = true;
$default = function values(){ return $native.call(this); };
}
// Define iterator
if((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])){
hide(proto, ITERATOR, $default);
}
// Plug for library
Iterators[NAME] = $default;
Iterators[TAG] = returnThis;
if(DEFAULT){
methods = {
values: DEF_VALUES ? $default : getMethod(VALUES),
keys: IS_SET ? $default : getMethod(KEYS),
entries: $entries
};
if(FORCED)for(key in methods){
if(!(key in proto))redefine(proto, key, methods[key]);
} else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);
}
return methods;
};
/***/ },
/* 12 */
/***/ function(module, exports) {
module.exports = true;
/***/ },
/* 13 */
/***/ function(module, exports, __webpack_require__) {
var global = __webpack_require__(14)
, core = __webpack_require__(15)
, ctx = __webpack_require__(16)
, hide = __webpack_require__(18)
, PROTOTYPE = 'prototype';
var $export = function(type, name, source){
var IS_FORCED = type & $export.F
, IS_GLOBAL = type & $export.G
, IS_STATIC = type & $export.S
, IS_PROTO = type & $export.P
, IS_BIND = type & $export.B
, IS_WRAP = type & $export.W
, exports = IS_GLOBAL ? core : core[name] || (core[name] = {})
, expProto = exports[PROTOTYPE]
, target = IS_GLOBAL ? global : IS_STATIC ? global[name] : (global[name] || {})[PROTOTYPE]
, key, own, out;
if(IS_GLOBAL)source = name;
for(key in source){
// contains in native
own = !IS_FORCED && target && target[key] !== undefined;
if(own && key in exports)continue;
// export native or passed
out = own ? target[key] : source[key];
// prevent global pollution for namespaces
exports[key] = IS_GLOBAL && typeof target[key] != 'function' ? source[key]
// bind timers to global for call from export context
: IS_BIND && own ? ctx(out, global)
// wrap global constructors for prevent change them in library
: IS_WRAP && target[key] == out ? (function(C){
var F = function(a, b, c){
if(this instanceof C){
switch(arguments.length){
case 0: return new C;
case 1: return new C(a);
case 2: return new C(a, b);
} return new C(a, b, c);
} return C.apply(this, arguments);
};
F[PROTOTYPE] = C[PROTOTYPE];
return F;
// make static versions for prototype methods
})(out) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;
// export proto methods to core.%CONSTRUCTOR%.methods.%NAME%
if(IS_PROTO){
(exports.virtual || (exports.virtual = {}))[key] = out;
// export proto methods to core.%CONSTRUCTOR%.prototype.%NAME%
if(type & $export.R && expProto && !expProto[key])hide(expProto, key, out);
}
}
};
// type bitmap
$export.F = 1; // forced
$export.G = 2; // global
$export.S = 4; // static
$export.P = 8; // proto
$export.B = 16; // bind
$export.W = 32; // wrap
$export.U = 64; // safe
$export.R = 128; // real proto method for `library`
module.exports = $export;
/***/ },
/* 14 */
/***/ function(module, exports) {
// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028
var global = module.exports = typeof window != 'undefined' && window.Math == Math
? window : typeof self != 'undefined' && self.Math == Math ? self : Function('return this')();
if(typeof __g == 'number')__g = global; // eslint-disable-line no-undef
/***/ },
/* 15 */
/***/ function(module, exports) {
var core = module.exports = {version: '2.4.0'};
if(typeof __e == 'number')__e = core; // eslint-disable-line no-undef
/***/ },
/* 16 */
/***/ function(module, exports, __webpack_require__) {
// optional / simple context binding
var aFunction = __webpack_require__(17);
module.exports = function(fn, that, length){
aFunction(fn);
if(that === undefined)return fn;
switch(length){
case 1: return function(a){
return fn.call(that, a);
};
case 2: return function(a, b){
return fn.call(that, a, b);
};
case 3: return function(a, b, c){
return fn.call(that, a, b, c);
};
}
return function(/* ...args */){
return fn.apply(that, arguments);
};
};
/***/ },
/* 17 */
/***/ function(module, exports) {
module.exports = function(it){
if(typeof it != 'function')throw TypeError(it + ' is not a function!');
return it;
};
/***/ },
/* 18 */
/***/ function(module, exports, __webpack_require__) {
var dP = __webpack_require__(19)
, createDesc = __webpack_require__(27);
module.exports = __webpack_require__(23) ? function(object, key, value){
return dP.f(object, key, createDesc(1, value));
} : function(object, key, value){
object[key] = value;
return object;
};
/***/ },
/* 19 */
/***/ function(module, exports, __webpack_require__) {
var anObject = __webpack_require__(20)
, IE8_DOM_DEFINE = __webpack_require__(22)
, toPrimitive = __webpack_require__(26)
, dP = Object.defineProperty;
exports.f = __webpack_require__(23) ? Object.defineProperty : function defineProperty(O, P, Attributes){
anObject(O);
P = toPrimitive(P, true);
anObject(Attributes);
if(IE8_DOM_DEFINE)try {
return dP(O, P, Attributes);
} catch(e){ /* empty */ }
if('get' in Attributes || 'set' in Attributes)throw TypeError('Accessors not supported!');
if('value' in Attributes)O[P] = Attributes.value;
return O;
};
/***/ },
/* 20 */
/***/ function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(21);
module.exports = function(it){
if(!isObject(it))throw TypeError(it + ' is not an object!');
return it;
};
/***/ },
/* 21 */
/***/ function(module, exports) {
module.exports = function(it){
return typeof it === 'object' ? it !== null : typeof it === 'function';
};
/***/ },
/* 22 */
/***/ function(module, exports, __webpack_require__) {
module.exports = !__webpack_require__(23) && !__webpack_require__(24)(function(){
return Object.defineProperty(__webpack_require__(25)('div'), 'a', {get: function(){ return 7; }}).a != 7;
});
/***/ },
/* 23 */
/***/ function(module, exports, __webpack_require__) {
// Thank's IE8 for his funny defineProperty
module.exports = !__webpack_require__(24)(function(){
return Object.defineProperty({}, 'a', {get: function(){ return 7; }}).a != 7;
});
/***/ },
/* 24 */
/***/ function(module, exports) {
module.exports = function(exec){
try {
return !!exec();
} catch(e){
return true;
}
};
/***/ },
/* 25 */
/***/ function(module, exports, __webpack_require__) {
var isObject = __webpack_require__(21)
, document = __webpack_require__(14).document
// in old IE typeof document.createElement is 'object'
, is = isObject(document) && isObject(document.createElement);
module.exports = function(it){
return is ? document.createElement(it) : {};
};
/***/ },
/* 26 */
/***/ function(module, exports, __webpack_require__) {
// 7.1.1 ToPrimitive(input [, PreferredType])
var isObject = __webpack_require__(21);
// instead of the ES6 spec version, we didn't implement @@toPrimitive case
// and the second argument - flag - preferred type is a string
module.exports = function(it, S){
if(!isObject(it))return it;
var fn, val;
if(S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
if(typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it)))return val;
if(!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it)))return val;
throw TypeError("Can't convert object to primitive value");
};
/***/ },
/* 27 */
/***/ function(module, exports) {
module.exports = function(bitmap, value){
return {
enumerable : !(bitmap & 1),
configurable: !(bitmap & 2),
writable : !(bitmap & 4),
value : value
};
};
/***/ },
/* 28 */
/***/ function(module, exports, __webpack_require__) {
module.exports = __webpack_require__(18);
/***/ },
/* 29 */
/***/ function(module, exports) {
var hasOwnProperty = {}.hasOwnProperty;
module.exports = function(it, key){
return hasOwnProperty.call(it, key);
};
/***/ },
/* 30 */
/***/ function(module, exports) {
module.exports = {};
/***/ },
/* 31 */
/***/ function(module, exports, __webpack_require__) {
'use strict';
var create = __webpack_require__(32)
, descriptor = __webpack_require__(27)
, setToStringTag = __webpack_require__(47)
, IteratorPrototype = {};
// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()
__webpack_require__(18)(IteratorPrototype, __webpack_require__(48)('iterator'), function(){ return this; });
module.exports = function(Constructor, NAME, next){
Constructor.prototype = create(IteratorPrototype, {next: descriptor(1, next)});
setToStringTag(Constructor, NAME + ' Iterator');
};
/***/ },
/* 32 */
/***/ function(module, exports, __webpack_require__) {
// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])
var anObject = __webpack_require__(20)
, dPs = __webpack_require__(33)
, enumBugKeys = __webpack_require__(45)
, IE_PROTO = __webpack_require__(42)('IE_PROTO')
, Empty = function(){ /* empty */ }
, PROTOTYPE = 'prototype';
// Create object with fake `null` prototype: use iframe Object with cleared prototype
var createDict = function(){
// Thrash, waste and sodomy: IE GC bug
var iframe = __webpack_require__(25)('iframe')
, i = enumBugKeys.length
, gt = '>'
, iframeDocument;
iframe.style.display = 'none';
__webpack_require__(46).appendChild(iframe);
iframe.src = 'javascript:'; // eslint-disable-line no-script-url
// createDict = iframe.contentWindow.Object;
// html.removeChild(iframe);
iframeDocument = iframe.contentWindow.document;
iframeDocument.open();
iframeDocument.write('<script>document.F=Object</script' + gt);
iframeDocument.close();
createDict = iframeDocument.F;
while(i--)delete createDict[PROTOTYPE][enumBugKeys[i]];
return createDict();
};
module.exports = Object.create || function create(O, Properties){
var result;
if(O !== null){
Empty[PROTOTYPE] = anObject(O);
result = new Empty;
Empty[PROTOTYPE] = null;
// add "__proto__" for Object.getPrototypeOf polyfill
result[IE_PROTO] = O;
} else result = createDict();
return Properties === undefined ? result : dPs(result, Properties);
};
/***/ },
/* 33 */
/***/ function(module, exports, __webpack_require__) {
var dP = __webpack_require__(19)
, anObject = __webpack_require__(20)
, getKeys = __webpack_require__(34);
module.exports = __webpack_require__(23) ? Object.defineProperties : function defineProperties(O, Properties){
anObject(O);
var keys = getKeys(Properties)
, length = keys.length
, i = 0
, P;
while(length > i)dP.f(O, P = keys[i++], Properties[P]);
return O;
};
/***/ },
/* 34 */
/***/ function(module, exports, __webpack_require__) {
// 19.1.2.14 / 15.2.3.14 Object.keys(O)
var $keys = __webpack_require__(35)
, enumBugKeys = __webpack_require__(45);
module.exports = Object.keys || function keys(O){
return $keys(O, enumBugKeys);
};
/***/ },
/* 35 */
/***/ function(module, exports, __webpack_require__) {
var has = __webpack_require__(29)
, toIObject = __webpack_require__(36)
, arrayIndexOf = __webpack_require__(39)(false)
, IE_PROTO = __webpack_require__(42)('IE_PROTO');
module.exports = function(object, names){
var O = toIObject(object)
, i = 0
, result = []
, key;
for(key in O)if(key != IE_PROTO)has(O, key) && result.push(key);
// Don't enum bug & hidden keys
while(names.length > i)if(has(O, key = names[i++])){
~arrayIndexOf(result, key) || result.push(key);
}
return result;
};
/***/ },
/* 36 */
/***/ function(module, exports, __webpack_require__) {
// to indexed object, toObject with fallback for non-array-like ES3 strings
var IObject = __webpack_require__(37)
, defined = __webpack_require__(10);
module.exports = function(it){
return IObject(defined(it));
};
/***/ },
/* 37 */
/***/ function(module, exports, __webpack_require__) {
// fallback for non-array-like ES3 and non-enumerable old V8 strings
var cof = __webpack_require__(38);
module.exports = Object('z').propertyIsEnumerable(0) ? Object : function(it){
return cof(it) == 'String' ? it.split('') : Object(it);
};
/***/ },
/* 38 */
/***/ function(module, exports) {
var toString = {}.toString;
module.exports = function(it){
return toString.call(it).slice(8, -1);
};
/***/ },
/* 39 */
/***/ function(module, exports, __webpack_require__) {
// false -> Array#indexOf
// true -> Array#includes
var toIObject = __webpack_require__(36)
, toLength = __webpack_require__(40)
, toIndex = __webpack_require__(41);
module.exports = function(IS_INCLUDES){
return function($this, el, fromIndex){
var O = toIObject($this)
, length = toLength(O.length)
, index = toIndex(fromIndex, length)
, value;
// Array#includes uses S.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0