2017-05-06 11 views
0

と右のアニメーションに左から充填するためにどのようは、私はこのコードでボタンを持っているのjQuery

$("body").on('mouseover', '.sign_up_button', function(event) { 
 
    $(this).toggleClass('before_bttn'); 
 
});
.sign_up_button { 
 
    -webkit-transition: .3s ease-out; 
 
    -moz-transition: .3s ease-out; 
 
    -ms-transition: .3s ease-out; 
 
    -o-transition: .3s ease-out; 
 
    transition: .3s ease-out; 
 
    font-size: 21px; 
 
    font-family: Zona; 
 
    color: whitesmoke; 
 
    border: 0; 
 
    position: relative; 
 
    top: 50px; 
 
    height: 50px; 
 
    left: 120px; 
 
    letter-spacing: 1px; 
 
    background: #1ed5a3; 
 
    cursor: pointer; 
 
    width: 140px; 
 
    overflow: hidden; 
 
    z-index: 1; 
 
} 
 

 
.before_bttn:before { 
 
    content: ""; 
 
    background: #49d6a7; 
 
    top: 0; 
 
    right: 100%; 
 
    bottom: 0; 
 
    z-index: -1; 
 
    position: absolute; 
 
    left: 0; 
 
    -webkit-transition: right .3s ease-in; 
 
} 
 

 
.before_bttn:hover:before { 
 
    right: 0; 
 
    color: white; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="sign_up_button">Sign Up</button>

何私はここでやろうとしていることの背景から充填のアニメーションを作成することです左から右ですが、残念ながらここに結果があります:https://jsfiddle.net/qantsvg5/ マウスがボタンを離れるとアニメーションが発生します.Jqueryでそのアニメーションを作成するにはどうすればよいですか?たぶん、あなたはjqueryののない方がいいでしょう、それだけでCSSの遷移にdiv要素を移動する方が簡単ですCSS

+0

背景?またはをクリックすると? –

+0

いつアニメーションを表示しますか? –

答えて

1

なしの方法を提供していません。

$('.sign_up_button').one('mouseover', function(event) { 
 
    $('body').append('you don\'t need jquery'); 
 

 
});
.sign_up_button { 
 
    -webkit-transition: .3s ease-out; 
 
    -moz-transition: .3s ease-out; 
 
    -ms-transition: .3s ease-out; 
 
    -o-transition: .3s ease-out; 
 
    transition: .3s ease-out; 
 
    font-size: 21px; 
 
    font-family: Zona; 
 
    color: whitesmoke; 
 
    border: 0; 
 
    position: relative; 
 
    top: 50px; 
 
    height: 50px; 
 
    left: 120px; 
 
    letter-spacing: 1px; 
 
    background: #1ed5a3; 
 
    cursor: pointer; 
 
    width: 140px; 
 
    overflow: hidden; 
 
    z-index: 1; 
 
} 
 

 
.sign_up_button:before { 
 
    content: ""; 
 
    background: red; 
 
    top: 0; 
 
    right: 100%; 
 
    bottom: 0; 
 
    z-index: -1; 
 
    position: absolute; 
 
    left: 0; 
 
    -webkit-transition: right .3s ease-in; 
 
} 
 

 
.sign_up_button:hover:before { 
 
    right: 0; 
 
    color: white; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="sign_up_button"> 
 
    Sign Up 
 
</button>

+0

うん、私の答えはほぼ同じ:) :)))) – vldfr

2

あなたは必要はありませんでした別のクラスをボタンに入れるため、JSコードを削除します。うまくいけば、これはあなたが起こりたいものです。

.before_bttnクラスの名前を.sign_up_buttonクラスに変更してください。

希望すると助かります!あなたが置くと、左から右に充填

.sign_up_button{ 
 
\t -webkit-transition:.3s ease-out; 
 
\t -moz-transition:.3s ease-out; 
 
\t  -ms-transition:.3s ease-out; 
 
\t  -o-transition:.3s ease-out; 
 
\t   transition:.3s ease-out; 
 
\t font-size: 21px; 
 
\t font-family: Zona; 
 
\t color: whitesmoke; 
 
\t border:0; 
 
\t position: relative; 
 
\t top: 50px; 
 
\t height: 50px; 
 
\t left: 120px; 
 
\t letter-spacing: 1px; 
 
\t background: #1ed5a3; 
 
\t cursor:pointer; 
 
\t width: 140px; 
 
\t overflow: hidden; 
 
\t z-index: 1; 
 
} 
 
.sign_up_button:before{ 
 
\t content: ""; 
 
\t background: #49d6a7; 
 
\t top: 0; 
 
\t right: 100%; 
 
\t bottom: 0; 
 
    z-index: -1; 
 
    \t position: absolute; 
 
\t left: 0; 
 
    transition:right .3s ease-in; 
 
\t -webkit-transition:right .3s ease-in; 
 
} 
 
.sign_up_button:hover:before{ 
 
\t right:0; 
 
\t color: white; 
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<button class="sign_up_button">Sign Up</button>

+1

それは動作しますが、私はそれがjQUERYと欲しい –

関連する問題