• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:動的にHTMLコンテンツを吹き出し表示したい)

動的にHTMLコンテンツを吹き出し表示したい

このQ&Aのポイント
  • リンクをマウスオーバーしたとき、リンクのhrefの値を取得して吹き出ししたいHTMLのidを割り出します。
  • そしてhtml()メソッドでasideタグ以下の要素を取得し、それをtooltip用プラグインであるballoonのcontents属性にセットして動的に表示するHTMLを変えたいと思っています。
  • みなさんのお知恵をお貸しください。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • shockatz
  • ベストアンサー率80% (153/191)
回答No.1

$('.quotelink').ballon() の瞬間に別のイベントハンドラを割り込ませcontentsを取得投入するwwww 何という瞬間芸 aタグなんか、javascriptでballon定義した瞬間にどっか失せてますよ。 jquery.baloon.js のドキュメントを読むと、自力でイベント処理して汎用メソッド呼べと書いてある。 $('.quotelink').on("mouseover", function () { var link = $(this).attr("href"); content = $("aside#" + String(link).split("#")[1]).html(); content = content.replace(/\r\n/g, "");//IE content = content.replace(/\n/g, "");//Firefox $(this).showBaloon({ contents:content }); });

azukileosan
質問者

お礼

shockatzさん ありがとうございました。 補足で表示できない旨をお伝えしましたが、showBallonメソッドでヒントを頂き、無事実装に成功いたしました。 ありがとうございました。感謝いたします。

azukileosan
質問者

補足

shockatz さん ご返答ありがとうございます。 早速、教えていただいたロジックを試したところ最初にマウスオーバーしたときは画面表示されずに2回目以降にマウスオーバーしたら画面に表示されました。デバッグで試したら(cotent の内容を取得した後にalertで内容を表示)contentの内容が一回目にマウスオーバーしたときは取得できず、2回目、3回目とマウスオーバーすると2回、3回と乗算的に画面表示(alertでの表示)されました。 最初にマウスオーバーしたときにポップアップ表示するにはどうすればよいのでしょうか?

関連するQ&A