【Labs】jQueryでツールチップ - web design lab
にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村

【Labs】jQueryでツールチップ


【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);
});
});
Result

サンプルデモはこちら

関連リンク

【Labs】CSSだけでツールチップ

参考

少しのコードで実装可能な20のjQuery小技集


にほんブログ村 デザインブログ Webデザインへ PVアクセスランキング にほんブログ村