カーソル(cursor)を矢印ではなく丸くし、クリックでポワンっと広がるアニメーションを追加する方法を説明!
この~。。。なんて言うんだろう?
「カーソルが好きな形に変化するや~つ(仮名)」がサイトに実装されてると「こだわってる!」感があるから好きです。
でも、「どうせ難しいんでしょ」って今まで敬遠してたけど、作ってみると意外と簡単でした★
作ったのが嬉しくて、コピペで使いまわしてくれるとさらに嬉しいです。
自分でも、今後このサイトからコピペします。
【コピペする前に簡単に説明を】
jQueryを使って「div」をカーソル(cursor)に合わせて移動させています。
クリックしたら、どんな場所であれアニメーションをするクラスを追加しています。
カーソルがウィンドウから出た場合は消えるようにしています。
この処理をしないと、画面上に黒い点が残っちゃってみっともないんだ。
さらに、「aタグ」エリアに入ったらカーソルを少し変更させて、
クリッカブルな要素だと伝わるようにしています。
「aタグ」エリアに入った時に、もっと変化させた方が分かりやすいけど、
クリックアニメとかぶっちゃうから控えめにしてます。
それではデモですが、こちらのページがそのままデモページとなっています。
下にページ遷移はしませんが「aタグ」のボタンを置いてあるので、
カーソルを載せたりクリックしたりしてみてください!
それではHTMLとCSS、jQueryを。
ご自身のサイトで利用してれたら嬉しいです!
HTML
<div class="cursor fade"></div>
CSS
* {
cursor: none;
}
.cursor {
position: fixed;
z-index: 100;
width: 14px;
height: 14px;
margin-top: -7px;
margin-left: -7px;
background: rgba(10, 18, 60, 0.5);
display: block;
border-radius: 20px;
pointer-events: none;
}
// 「aタグ」に乗った時のアニメ
.active {transform: scale(1.5);opacity: .4;}
// クリックした時のアニメ
.click {animation: .6s click;}
@keyframes click {
50% {transform: scale(7);opacity: 0;}
51% {transform: scale(0);opacity: 0;}
100% {transform: scale(1);opacity: 1;}
}
// カーソルがウィンドウから外れた時のアニメ
.fade {animation: .15s fade forwards;}
@keyframes fade {100% {opacity: 0;}}
jQuery
var cursor=$(".cursor");
$(window).on("mousemove",function(e){
var x=e.clientX;
var y=e.clientY;
cursor.removeClass("fade");
// 黒丸をカーソルに合わせて移動
cursor.css({
"top": y,
"left": x
});
});
$(window).on("mouseout",function(e) {
// カーソルがウィンドウから外れた時の処理
cursor.addClass("fade");
});
$("body").on("click", function() {
// クリックした時のアニメーション
cursor.addClass("click");
setTimeout(function() {
cursor.removeClass("click");
},600);
});
$("a").on({
// カーソルが「aタグ」のエリアに入った時の処理
"mouseenter": function() {
cursor.addClass("active");
},"mouseleave": function() {
cursor.removeClass("active");
}
});
$("a").on("click", function() {
// 「aタグ」を押したときにアニメーションの間遷移を止める
event.preventDefault();
var link = $(this).attr('href');
setTimeout(function() {
location.href= link;
}, 300);
});







コメント
不知道说啥,开心快乐每一天吧!