問題
10
jQuery
jqueryでボタンを作ろう1
jQueryの問題に挑戦しよう!
問題
「jqueryでボタンを作ろう1」
今回はクリックするとその点から円が広がっていくようなアニメーションを作りましょう!
あらかじめエディタに書くコード
<div class="btn">ここをクリック<span></span></div>
¥HTML¥
.btn{
position: relative;
width: 200px;
height: 50px;
text-align: center;
line-height: 50px;
cursor: pointer;
border: 2px solid black;
overflow: hidden;
}
.btn span{
position: absolute;
background-color: #bbbbbb;
border-radius: 50%;
transform: translate(-50%,-50%);
opacity
¥CSS¥
期待する画面
解答と解説(jqueryでボタンを作ろう1)
解説
LINE登録して解答を見る
※ご登録後トークルーム下部にあるメニュー内
「無料問題集※解答付き」を押すと
解答閲覧用URLが届きます
btnがクリックされた時をトリガーとしてfunctionの引数にeを与えてthisからoffsetでクリックされたbtnの位置を取得し、それを変数に代入し、そこからleft、topによってx軸、y軸方向の位置を取得し、クリックされた位置をe.pageX、e.pageYで取得しそれぞれ先ほど得られたbtn自体の位置を引いてあげればボタン内左上からの距離を得られる。それをfindでspanを指定し、cssでtop、leftを与えてあげ、最後にanimateで円が大きくなっていくように見せるためにwidthとheightを設定します。この大きさは自由に決めてください。補足なのですが、今回は2回目以降も同じようにアニメーションが動くように処理の最初にwidthとheightを0にして初期化しています。