前提・実現したいこと
tippy.jsを使ってツールチップを実装しています。
・1番目のボタンのツールチップは右
・2番目のボタンのツールチップは左
・3番目のボタンのツールチップは右
というように
個別に左右に表示するようにしたいです。
ちなみに4番目はツールチップなしです。
発生している問題・エラーメッセージ
以下のソースで設定すると全部右だしになったり、
idごとにスクリプトを書くと動作しなくなったり、
1つのボタンに左右表示されてしまったりで
うまくいきません。
どなたかご教授いただければ幸いです。
該当のソースコード
HTML
1<!doctype html> 2<html> 3<head> 4<meta charset="utf-8"> 5<title>無題ドキュメント</title> 6 7<style type="text/css"> 8 .tippy-popper { 9 max-width: 10000px !important; 10 }/*--ツールチップの幅を大きく*/ 11 12 .wrapper .identity-title { 13 position: absolute; 14 top: 60px; 15 text-align: center; 16 width: 100%; 17 } 18 .wrapper .identity-title ul { 19 font-size: 1em; 20 font-weight: bold; 21 margin: 0; 22 padding: 0; 23 width: 960px; } 24 .wrapper .identity-title ul li:nth-of-type(1) { 25 padding-bottom: 90px; } 26 .wrapper .identity-title ul li:nth-of-type(2) { 27 padding-bottom: 130px; } 28 .wrapper .identity-title ul li:nth-of-type(3) { 29 padding-bottom: 120px; } 30 31</style> 32 33</head> 34 35<body> 36 37<h1>demo-on-click</h1> 38 39<div class="wrapper"> 40 41<div style="display: none;"> 42 <div id="title1"> 43 <table class="philosophy"> 44 <caption>社訓・理念・VISION</caption> 45 <tbody> 46 <tr> 47 <td>社訓</td> 48 <td>理念・行動指針</td> 49 <td>@@@@@@@</td> 50 </tr> 51 <tr> 52 <td>・誠実<br /> 53 ・技術<br /> 54 ・確実</td> 55 <td>安心で快適な<br />生活環境の創造</td> 56 <td>グループ総合力で<br />進化を遂げ<br />最強企業集団になる</td> 57 </tr> 58 <tr> 59 <td colspan="2">イノベーションとは「新結合」・「新機軸」そして<br />「自分が変わること」(in+novare=innovate)</td> 60 <td>グループ各所の<br />アクションプラン</td> 61 </tr> 62 <tr> 63 <td>(創業の精神)会社の存続基盤</td> 64 <td>(ミッション)会社の持続性の基盤</td> 65 <td>(方向性)Vision for the Future</td> 66 </tr> 67 <tr class="text-left"> 68 <td colspan="3">@@@@@@@@@@@@@@@@@@@@@@@@</td> 69 </tr> 70 </tbody> 71 </table> 72 </div> 73 <div id="title2"> 74 <div class="TextBox-left"> 75 <p>@@@@@@@@@@@@@@@@@@@@@@@@@@</p> 76 <h2>「グループ行動指針」</h2> 77 <p>●独創自立<br /> 78 ●高い品質と顧客満足<br /> 79 ●マーケット志向とグローバリゼーション<br /> 80 ●コンプライアンス<br /> 81 ●環境保全</p> 82 </div> 83 </div> 84 <div id="title3"> 85 <div class="TextBox-right"> 86 <p>@@@@@@@@@@@@@@@@@@@</p> 87 <h2>「@@@@@@@@@@@」</h2> 88 <p>●既存事業における収益力No.1<br /> 89 ●成長事業へのチャレンジ<br /> 90 ●社員のモチベーション向上</p> 91 </div> 92 </div> 93</div> 94 95 96<div class="identity-title"> 97 <ul> 98 <li><button data-template="title1">社訓<br />・<br />グループ理念</button></li> 99 <li><button data-template="title2">グループ行動指針</button></li> 100 <li><button data-template="title3">@@@@@@@</button></li> 101 <li><button>中期経営計画</button></li> 102 </ul> 103</div><!--identity-title--> 104 105</div><!--wrapper--> 106 107<script src="https://unpkg.com/@popperjs/core@2"></script> 108<script src="https://unpkg.com/tippy.js@6"></script> 109 110<script> 111 tippy('button', { 112 content(reference) { 113 const id = reference.getAttribute('data-template'); 114 const template = document.getElementById(id); 115 return template.innerHTML; 116 }, 117 allowHTML: true, 118 placement: 'right-end', 119 }); 120</script> 121</body> 122</html>
試したこと
JavaScript
1<script> 2 tippy('button', { 3 content(reference) { 4 const id = reference.getAttribute('data-template'); 5 const template = document.getElementById('title1'); 6 return template.innerHTML; 7 }, 8 allowHTML: true, 9 placement: 'right-end', 10 }); 11 tippy('button', { 12 content(reference) { 13 const id = reference.getAttribute('data-template'); 14 const template = document.getElementById('title2'); 15 return template.innerHTML; 16 }, 17 allowHTML: true, 18 placement: 'left-end', 19 }); 20</script>
これだと1つのボタンに左右にツールチップが表示されてしまいます。
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答2件
あなたの回答
tips
プレビュー