【Labs】jQueryでツールチップ
こんにちは(・∀・)
今回ご紹介するのはjQueryを使ったツールチップです。
ツールチップとはマウスオーバーした際に表示される説明やヒントなどを表示させる仕組みのことです。
同じようなことをtitle属性で実現することもできますが、よりグラフィカルな表現で表示させるためにCSSやjQueryを使って作成してみます。
jQueryでツールチップ
jQueryを使ったツールチップです。CSSとjQueryを使って表示させます。
サンプル
HTML
Google Hosted LibrariesからjQuery 1.x snippetを<head>
内に読み込みます。
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<p style="width: 600px; margin: 0 auto;">ツールチップのサンプルです。<br>ここはツールチップ直前の要素です。次のリンクにカーソルを合わせるとツールチップがこの要素の上に重ねて表示されます。<br></p>
<div class="sample-demo">
<ul class="tooltip">
<li>
<a href="https://www.webdlab.com/">HOME</a>
<span>Webデザインラボ<br>ホームへ<p></p></span>
</li>
<li>
<a href="https://www.webdlab.com/html/">HTML5</a>
<span>HTMLリファレンス<br>はこちら<p></p></span>
</li>
<li>
<a href="https://www.webdlab.com/css/">CSS3</a>
<span>CSSリファレンス<br>はこちら<p></p></span>
</li>
</ul>
<ul class="tooltip2">
<li>
<a href="https://www.webdlab.com/">HOME</a>
<span>Webデザインラボ<br>ホームへ<p></p></span>
</li>
<li>
<a href="https://www.webdlab.com/html/">HTML5</a>
<span>HTMLリファレンス<br>はこちら<p></p></span>
</li>
<li>
<a href="https://www.webdlab.com/css/">CSS3</a>
<span>CSSリファレンス<br>はこちら<p></p></span>
</li>
</ul>
<!--sample-demo--></div>
<p style="width: 600px; margin: 0 auto;">ツールチップのサンプルです。<br>ここはツールチップ直後の要素です。前のリンクにカーソルを合わせるとツールチップがこの要素の上に重ねて表示されます。<br></p>
CSS
.sample-demo .tooltip,
.sample-demo .tooltip2 {
width: 600px;
margin: 10px auto;
list-style: none;
}
.sample-demo .tooltip li,
.sample-demo .tooltip2 li {
display: inline-block;
position: relative;
text-align: center;
margin: 0 10px;
padding: 5px;
}
.sample-demo .tooltip li a,
.sample-demo .tooltip2 li a {
display: inline-block;
padding: 5px;
}
.sample-demo .tooltip li span {
background: #afc6e2;
color: #fff;
width: 180px;
height: 65px;
padding: 10px;
position: absolute;
top: -80px;
left: 0;
text-align: left;
z-index: 2;
display: none;
}
.sample-demo .tooltip li span p {
width: 0;
height: 0;
position: relative;
top: 7px;
left: 10px;
border: 10px solid transparent;
border-top: 10px solid #afc6e2;
}
.sample-demo .tooltip2 li span {
background: #afc6e2;
color: #fff;
width: 180px;
height: 65px;
padding: 10px;
position: absolute;
top: 35px;
left: 0;
text-align: left;
z-index: 2;
display: none;
}
.sample-demo .tooltip2 li span p {
width: 0;
height: 0;
position: relative;
top: -78px;
left: 10px;
border: 10px solid transparent;
border-bottom: 10px solid #afc6e2;
}
JavaScript
$(function(){
$(".tooltip a").hover(function() {
$(this).next("span").stop().animate({opacity: "show", top: "-85"}, 500);},
function() {
$(this).next("span").stop().animate({opacity: "hide", top: "-80"}, 200);
});
});
$(function(){
$(".tooltip2 a").hover(function() {
$(this).next("span").stop().animate({opacity: "show", top: "40"}, 500);},
function() {
$(this).next("span").stop().animate({opacity: "hide", top: "35"}, 200);
});
});