ログイン
問題5

jqueryでボタンを作ろう3

アイコン画像

問題5: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にすることで右に向かって縮んでいくように表示できます。
ログインして解答を見る
完了にする!
twitterのアイコン
活動記録をTweetする
jQueryAnimationを学ぶなら現役エンジニア監修「甲賀コース」
LINEの友達追加でお役立ち動画をGET!!

閉じる