質問するログイン新規登録

回答編集履歴

4

修正

2017/01/14 04:32

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -94,7 +94,7 @@
94
94
  ```
95
95
 
96
96
  **複数ポップアップ対応版**
97
- とりあえずで複数にも対応できると思います。
97
+ のようにすることで複数にも対応できると思います。
98
98
  ```HTML
99
99
  <!DOCTYPE HTML>
100
100
  <html lang='ja'>
@@ -102,7 +102,7 @@
102
102
  <!-- 参考 http://qiita.com/ShibuyaKosuke/items/8c47ae51195ddc42ce67 -->
103
103
  <head>
104
104
  <meta charset='UTF-8'>
105
- <title></title>
105
+ <title>タイトル</title>
106
106
  <style type='text/css'>
107
107
  .popUp {
108
108
  border: 2px solid #000000;
@@ -126,6 +126,7 @@
126
126
  <script>
127
127
  $(document).ready(function () {
128
128
  let $popUp = $(".popUp");
129
+ let $this = $popUp.prev("a");
129
130
 
130
131
  $popUp.css({
131
132
  opacity: "0.8",
@@ -133,14 +134,14 @@
133
134
  display: "none"
134
135
  });
135
136
 
136
- $("a").mouseover(function () {
137
+ $this.mouseover(function () {
137
138
  $(this).next(".popUp").fadeIn();
138
139
  }).mouseout(function () {
139
140
  $(this).next(".popUp").fadeOut();
140
141
  }).mousemove(function (e) {
141
142
  $(this).next(".popUp").css({
142
- 'top': e.pageY + 10 + 'px',
143
+ "top": e.pageY + 10 + "px",
143
- 'left': e.pageX + 10 + 'px'
144
+ "left": e.pageX + 10 + "px"
144
145
  });
145
146
  });
146
147
  });

3

修正

2017/01/14 04:32

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -125,8 +125,7 @@
125
125
  <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
126
126
  <script>
127
127
  $(document).ready(function () {
128
- const $popUp = $(".popUp");
128
+ let $popUp = $(".popUp");
129
- const $this = $popUp.prev("a").next();
130
129
 
131
130
  $popUp.css({
132
131
  opacity: "0.8",
@@ -139,12 +138,12 @@
139
138
  }).mouseout(function () {
140
139
  $(this).next(".popUp").fadeOut();
141
140
  }).mousemove(function (e) {
142
- $this.css({
141
+ $(this).next(".popUp").css({
143
142
  'top': e.pageY + 10 + 'px',
144
143
  'left': e.pageX + 10 + 'px'
145
144
  });
146
145
  });
147
- })
146
+ });
148
147
  </script>
149
148
  </body>
150
149
  </html>

2

追記

2017/01/14 04:19

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -91,4 +91,61 @@
91
91
  </script>
92
92
  </body>
93
93
  </html>
94
+ ```
95
+
96
+ **複数ポップアップ対応版**
97
+ とりあえずこれで複数にも対応できると思います。
98
+ ```HTML
99
+ <!DOCTYPE HTML>
100
+ <html lang='ja'>
101
+ <!-- https://teratail.com/questions/61908 -->
102
+ <!-- 参考 http://qiita.com/ShibuyaKosuke/items/8c47ae51195ddc42ce67 -->
103
+ <head>
104
+ <meta charset='UTF-8'>
105
+ <title></title>
106
+ <style type='text/css'>
107
+ .popUp {
108
+ border: 2px solid #000000;
109
+ padding: 10px;
110
+ }
111
+ </style>
112
+ </head>
113
+ <body>
114
+ テキストテキストテキスト
115
+ <a href="javascript:void(0)">
116
+ クリックすると吹き出しがでる
117
+ </a>
118
+ <span class="popUp">吹き出しテキスト1</span>
119
+ <hr>
120
+ テキストテキストテキスト
121
+ <a href="javascript:void(0)">
122
+ クリックすると吹き出しがでる
123
+ </a>
124
+ <span class="popUp">吹き出しテキスト2</span>
125
+ <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
126
+ <script>
127
+ $(document).ready(function () {
128
+ const $popUp = $(".popUp");
129
+ const $this = $popUp.prev("a").next();
130
+
131
+ $popUp.css({
132
+ opacity: "0.8",
133
+ position: "absolute",
134
+ display: "none"
135
+ });
136
+
137
+ $("a").mouseover(function () {
138
+ $(this).next(".popUp").fadeIn();
139
+ }).mouseout(function () {
140
+ $(this).next(".popUp").fadeOut();
141
+ }).mousemove(function (e) {
142
+ $this.css({
143
+ 'top': e.pageY + 10 + 'px',
144
+ 'left': e.pageX + 10 + 'px'
145
+ });
146
+ });
147
+ })
148
+ </script>
149
+ </body>
150
+ </html>
94
151
  ```

1

修正

2017/01/14 04:14

投稿

s8_chu
s8_chu

スコア14731

answer CHANGED
@@ -1,6 +1,6 @@
1
1
  0. ```var $this = $(this);```とすると、$(this)はjQueryオブジェクトに変換されたwindowオブジェクトを指すので```var $this = $popUp.prev("a");```とする必要があると思います。
2
2
  0. ```var $this = $popUp.next("a");```というようにすれば可能ではないでしょうか?
3
- 0. 動作する記述の場合の$(this)の使い方はあっていると思います。間違っていれば動かないのではないかと思います。
3
+ 0. 動作する記述の場合の$(this)の使い方はあっていると思います。間違っていれば動かないのではないかと思います。
4
4
 
5
5
  上を踏まえて動作しない記述を修正すると、次のように書けると思います。
6
6
  **動作しなくなってしまう記述1**