ご覧いただきありがとうございます。
aタグにhoverした際に、カーソルを基準ではなく、aタグを基準として、aタグの真横にポップアップ(div)をfadeInさせたいのですが、場所の指定方法がわからず苦戦しています。
教えていただければ幸いです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
回答3件
0
a タグを position: relative にして、ポップアップをa タグの子要素にして、ポップアップを position: absolute; left: 100% にするのはどうですか
css
1a { 2 position: relative; 3} 4a > div { 5 position: absolute; 6 left: 100%; 7}
投稿2017/10/24 04:35
編集2017/10/24 05:13総合スコア158
0
javascript
1$(function(){ 2 $('a.hoge').hover( 3 function(){ 4 $(this).after($('<div>').css({display:"inline-block"}).text("fuga").hide().fadeIn()); 5 },function(){ 6 $(this).next('div').remove(); 7 }); 8});
HTML
1<a href="#" class="hoge">hoge</a>
投稿2017/10/24 04:05
総合スコア118218
0
ベストアンサー
ホバーしたAタグの位置は position か offset で取得できます
js
1$('aタグのセレクタ').hover(function() { 2 // document左上からの相対位置 3 var left = $(this).offset().left, 4 top = $(this).offset().top 5 // 親要素からの相対位置 6 var left = $(this).position().left, 7 top = $(this).position().top 8 9
それを基準に何やら位置を計算して、
css で指定すれば良いです
js
1$('div のセレクタ').css( 2 left: left, 3 top: top 4}.fadeIn();
投稿2017/10/24 06:27
編集2017/10/24 06:33総合スコア158
ご回答ありがとうございます。
無事希望していた動作になりました。
aタグの位置を取得するなんて思いもしませんでした。
本当にありがとうございます。
もしよければもう一つ教えていただきたいのですが、
上記の位置をもう少し右であったり、左にしたい場合はどの様に記述すればよろしいでしょうか?
もう少し右にしたければ、数値でもいいなら
left: left + 10
左にしたければ、
left: left - 10
という風で調整できます。
退会済みユーザー
2017/10/24 06:50
本当に感謝しています。
ありがとうございました。
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
2017/10/24 05:09
2017/10/24 05:11 編集
退会済みユーザー
2017/10/24 06:10