
リンクをマウスオーバーしたとき、リンクのhrefの値を取得して吹き出ししたいHTMLのidを割り出します。そしてhtml()メ
ソッドでasideタグ以下の要素を取得し、それをtooltip用プラグインであるballoonのcontents属性にセットして動的に表示
するHTMLを変えたいと思っています。(アイデア1)では一時変数contentにmouseoverイベント時に取得したhtmlを格
納し、それをbaloonで表示したいと思いました。しかしこのメソッドチェーンでは動いてくれません。(アイデア2)では
balloon実行時に無名関数を利用しquotelinkクラスからhrefを取得したいと思ったのですが、$(this)ではquotlinkクラスオ
ブジェクトが取得できません。
みなさんのお知恵をお貸しください。よろしくお願いします。
■画面に吹き出し表示したい箇所のHTML
<aside id="q56" style="padding-top: 40px; margin-top: -40px;">
<div id="reply" >
<div>
<span class="filecaption">1390245737775.jpg (75KB, 661x720)</span>
<a id="reply_image" href="/uploads/fullsize/1390245737775.jpg" target="_blank">
<img src="/uploads/thumbs/1390245737775.jpg" alt=""></a>
<blockquote class="postMessage">
たたたたああああああああああああああ<br>
</blockquote>
</div>
</div>
</aside>
■マウスオーバーする箇所
<a href="/threads/international/22#q56" id="c56" class="quotelink">56</a>
■javascript:
(アイデア1)
var content;
$('.quotelink')
.on("mouseover", function () {
var link = $(this).attr("href");
var num = String(link).split("#");alert('num = ' + num);
content = $("aside#" + num[1]).html();
content = content.replace(/\r\n/g, "");//IE
content = content.replace(/\n/g, "");//Firefox
}).balloon({
showDuration: 0,
hideDuration: 0,
minLifetime: 0,
tipSize: 0,
offsetY: 50,
contents: content,
css: {
opacity: "1.0"
}
})
});
(アイデア2)
var content;
$('.quotelink').balloon({
showDuration: 0,
hideDuration: 0,
minLifetime: 0,
tipSize: 0,
offsetY: 50,
contents: function() {
var link = $(this).attr("href");
var num = String(link).split("#");alert('num = ' + num);
content = $("aside#" + num[1]).html();
content = content.replace(/\r\n/g, "");//IE
content = content.replace(/\n/g, "");//Firefox
alert('content = ' + content);
return content;
},
css: {
opacity: "1.0"
}
})
});
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 });
});
この回答への補足
shockatz さん ご返答ありがとうございます。
早速、教えていただいたロジックを試したところ最初にマウスオーバーしたときは画面表示されずに2回目以降にマウスオーバーしたら画面に表示されました。デバッグで試したら(cotent の内容を取得した後にalertで内容を表示)contentの内容が一回目にマウスオーバーしたときは取得できず、2回目、3回目とマウスオーバーすると2回、3回と乗算的に画面表示(alertでの表示)されました。
最初にマウスオーバーしたときにポップアップ表示するにはどうすればよいのでしょうか?
shockatzさん ありがとうございました。 補足で表示できない旨をお伝えしましたが、showBallonメソッドでヒントを頂き、無事実装に成功いたしました。
ありがとうございました。感謝いたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS html/cssで要素が出てこなくて困ってます 1 2022/12/31 16:59
- HTML・CSS CSS のみのタブ切り替えについて 1 2023/01/11 16:47
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
- PHP style.cssのjQuery条件付きcssが機能しない 4 2022/07/17 18:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
removeAttribute()メソッドで削...
-
ページの一部を隠したり開いた...
-
jQueryで同じid属性が複数あっ...
-
複数のリンク画像を一定時間で...
-
javascriptテキストBOX色を元に...
-
jQueryの画像を使用したタブメ...
-
もう一度onclickを利用した伸縮...
-
テキストボックスに入力された...
-
FCK editorの機能を改良したい...
-
javascriptでのアコーディオン...
-
マウスを乗せるとメニュー表示
-
テキストノードを非表示にでき...
-
チェックボックスにチェックし...
-
クリックで色変更後に既に変更...
-
スライドのカスタマイズについて
-
多次元配列を連想配列へ変換したい
-
HTML id名とjavascript変数名
-
classの中の<a>タグにidを追加
-
リンク文字にマウスを乗せると...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MAX関数を使ってからLEFT JOIN...
-
javascriptテキストBOX色を元に...
-
IFRAMEの表示/非表示を切り替え...
-
removeEventListenerについて
-
背景色を透明化
-
createElementで作成した要素を...
-
javascriptでpostした値が取得...
-
読み込んだQRコードをフォーム...
-
iframe内のリンクが飛ばないの...
-
jQueryでクリックされた要素のi...
-
ダブルクォーテーションが消え...
-
<div ~ </div> で囲まれたテキ...
-
【HP作成】クリックすると下...
-
<Div>の中の要素の数を調べる
-
jQueryで特定id以外の下にある...
-
VBScript+IEのチェックボック...
-
removeAttribute()メソッドで削...
-
折りたたみ部分にアンカーでリ...
-
onclickを利用した伸縮メニュー...
-
背景色を一定時間ごとにランダ...
おすすめ情報