ログイン

問題5 jqueryでボタンを作ろう3

jQueryAnimationの問題

jQueryAnimation

jqueryでボタンを作ろう3

問題

cssだけでは通常hoverのマウスイン、マウスアウトでは同じアニメーションしか実装できませんが、jqueryではデモのようにhoverのマウスインとマウスアウトで違うアニメーションを適用できます。

自分の環境に書くコード

              <div class="btn">ここにクリック</div>
¥HTML¥
            
              .btn{
  position: relative;
  width: 200px;
  height: 50px;
  line-height: 50px;
  text-align: center;
  border: 2px solid #333;
  cursor: pointer;
}
.btn::before{
  content: '';
  position: absolute;
  top: 0;
  height: inherit;
  width:0px;
  background-color: #333;
  z-index: -1;
  transition: .5s;
}
¥CSS¥
            

期待する画面

ログインして解答を見る
コードのアイコン

解答ソースコード

              .btn:hover{
  color: #fff;
}
.mouseenter::before{
  left: 0;
  width: 200px;
  background-color: #333;
}
.mouseleave::before{
  right: 0;
  width: 0px;
  background-color: #333;
}
¥CSS¥
            
              $(function () {
  $(".btn").hover(function(){
    $(this).removeClass("mouseleave").addClass("mouseenter");
  },function(){
    $(this).removeClass("mouseenter").addClass("mouseleave");
  });
});
¥JavaScript¥
            
答えのアイコン

解説

まずjqueryのhoverの説明ですが、hover(マウスが入った時の処理、マウスが出ていった時の処理)となっています。なので今回は前者でmouseleaveを除き、mouseenterを与えて、後者でmouseenterを除いて、mouseleaveを与えています。そして最後にcssの説明ですが、mouseenterではwidthを200pxに、leftを0にすることによって左から背景が伸びていくように、mouseleaveではwidthを0pxに、rightを0にすることで右に向かって縮んでいくように表示できます。
完了にする!
LINEの友達追加でお役立ち動画をGET!!