動きを実現する仕組み
Tippy.js というツールチップを実装するライブラリを使い、文章やボタンにカーソルを合わせると補足情報が表示されるツールチップを実現する。 [使用するライブラリ] * Tippy.js(https://atomiks.github.io/tippyjs)
STEP1 HTMLコード
① (任意)head終了タグ直前にツールチップ出現用のアニメーションと色指定のCSSを読み込みます。※読み込まなくても動作します。
<head>
<!--ツールチップ出現用のアニメーションを指定するCSS。※導入方法は後程解説。読み込まなくてもフェードインで出現します。-->
<link rel="stylesheet" type="text/css" href="https://unpkg.com/tippy.js@5.0.3/animations/shift-toward-subtle.css">
<!--ツールチップの色を指定するCSS。。※導入方法は後程解説。読み込まなくても黒色で出現します。-->
<link rel="stylesheet" type="text/css" href="https://unpkg.com/tippy.js@5.0.3/themes/light-border.css">
</head>
② body内のツールチップを表示させたい場所にHTMLを記載します。
<!--◆文章の場合-->
<p>文章の<span class="cap" data-tippy-content="キャプションが入ります。">この部分にカーソルをあわせると</span>ツールチップが出現します</p>
<!--◆ボタンの場合-->
<button class="cap" data-tippy-content="<p>ツールチップにはHTML も使えます。</p>">ボタン</button>
③ body 終了タグ直前にTippy.js で必要なJavaScript、Tippy.js、動きを制御する自作のJS の3つを読み込みます。
<!--ツールチップを出すためのJS-->
<script src="https://unpkg.com/popper.js@1"></script>
<script src="https://unpkg.com/tippy.js@5"></script>
<!--ツールチップのJSを制御するための自作のJS-->
<script src="js/9-3-1.js"></script>
</body>
④ WordpressでのfunctionでのCDNとファイルの読み込みは下記より。
//CDN形式のCSSとJSの読み込み
function add_my_files() {
wp_enqueue_style(
'tooltips-anime', //$handle
'//unpkg.com/tippy.js@5.0.3/animations/shift-toward-subtle.css' //$src
);
wp_enqueue_style(
'tooltips-color', //$handle
'//unpkg.com/tippy.js@5.0.3/themes/light-border.css' //$src
);
wp_enqueue_script(
'jquery3.1.1', //$handle
'//ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js', //$src
array(), //$deps
null, //$ver
true //$in_footer
);
wp_enqueue_script(
'tooltips1', //$handle
'//unpkg.com/popper.js@1', //$src
array(), //$deps
null, //$ver
true //$in_footer
);
wp_enqueue_script(
'tooltips2', //$handle
'//unpkg.com/tippy.js@5', //$src
array(), //$deps
null, //$ver
true //$in_footer
);
}
add_action( 'wp_enqueue_scripts', 'add_my_files' );
//CSSとJSの読み込み
function my_enqueue_scripts()
{
$version = wp_get_theme()->get( 'Version' );
wp_enqueue_style('index-style', get_template_directory_uri() . '/css/index.css', array(), $version);
wp_enqueue_style('singular-style', get_template_directory_uri() . '/css/singular.css', array(), $version);
wp_enqueue_style('content-style', get_template_directory_uri() . '/css/content.css', array(), $version);
wp_enqueue_style('archive-style', get_template_directory_uri() . '/css/archive.css', array(), $version);
wp_enqueue_style('comments-style', get_template_directory_uri() . '/css/comments.css', array(), $version);
wp_enqueue_style('404-style', get_template_directory_uri() . '/css/404.css', array(), $version);
wp_enqueue_style('search-form-style', get_template_directory_uri() . '/css/searchform.css', array(), $version);
wp_enqueue_style('search-style', get_template_directory_uri() . '/css/search.css', array(), $version);
wp_enqueue_style('sidebar-style', get_template_directory_uri() . '/css/sidebar.css', array(), $version);
wp_enqueue_style('header-style', get_template_directory_uri() . '/css/header.css', array(), $version);
wp_enqueue_style('footer-style', get_template_directory_uri() . '/css/footer.css', array(), $version);
wp_enqueue_style('navi-style', get_template_directory_uri() . '/css/navi.css', array(), $version);
wp_enqueue_style('navi-accordion-style', get_template_directory_uri() . '/css/navi-accordion.css', array(), $version);
wp_enqueue_style('catego-navi-style', get_template_directory_uri() . '/css/catego-navi.css', array(), $version);
wp_enqueue_style('button-style', get_template_directory_uri() . '/css/button.css', array(), $version);
wp_enqueue_script('navi-script', get_template_directory_uri() . '/js/navi.js', array('jquery'), $version, true);
wp_enqueue_script('catego-navi-script', get_template_directory_uri() . '/js/catego-navi.js', array('jquery'), $version, true);
wp_enqueue_script('page-top-script', get_template_directory_uri() . '/js/page-top.js', array('jquery'), $version, true);
}
add_action('wp_enqueue_scripts', 'my_enqueue_scripts');
⑤ header.phpの>head>内で下記を使って読み込み。
<link rel="stylesheet" href="<?php echo get_stylesheet_uri(); ?>"><!--スタイルシートの呼び出し-->
<?php wp_head(); ?><!--システム・プラグイン用-->
CSSでコーディング
STEP2 cssコード
■ツールチップが出現する際のアニメーションと色を設定する方法 1-1. ツールチップが出現する際のアニメーションの設定方法 https://unpkg.com/browse/tippy.js@5.0.3/animations/ よりアニメーションの動きを取り入れたいCSSを選択。
参考ページはコチラからJqueryを使ってJSコード作成
STEP3 JSコード
tippy('.cap', {//指定した要素にツールチップが出現
placement: 'top-start',//ツールチップの表示位置⇒top、top-start、top-end、right、right-start、right-end、bottom、bottom-start、bottom-end、left、left-start、left-end。指定をしなくてもtopに表示
animation: 'shift-toward-subtle',//ツールチップ出現の動き。動きを指定するにはhttps://unpkg.com/browse/tippy.js@5.0.3/animations/から任意の動きを選び内に読み込むことが必要。使用できる動き⇒shift-away、shift-away-subtle、shift-away-extreme、shift-toward、shift-toward-subtle、shift-toward-extreme、scale、scale-subtle、scale-extreme、perspective、perspective-subtle、perspective-extreme。指定をしなくてもfadeで表示
theme: 'light-border',//ツールチップのテーマの色。色を指定するにはhttps://unpkg.com/browse/tippy.js@5.0.3/themes/からテーマを選び内に読み込んで指定する。テーマの種類⇒light、light-border、material、translucent。指定をしなくても黒色で表示
duration: 200,//ツールチップの出現の速さをミリ秒単位で指定
}
)
動作確認は下記から
See the Pen Untitled by K O (@K-O-the-builder) on CodePen.