質問編集履歴

1

コードの追加

2019/01/05 06:21

投稿

christmas-tree
christmas-tree

スコア12

test CHANGED
File without changes
test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
 
12
12
 
13
- こちらのCodePenのサンプルでは、画像クリックでCookieに内容が保存されるようになっています。
13
+ こちらのCodePenのサンプルでは、画像(``.Target``)クリックでCookieに内容が保存されるようになっています。
14
14
 
15
15
  [https://codepen.io/anon/pen/maXwmx](https://codepen.io/anon/pen/maXwmx)
16
16
 
@@ -24,7 +24,199 @@
24
24
 
25
25
 
26
26
 
27
+ ###コード
28
+
27
- 解決に向けたアバイスを頂けました幸いです。
29
+ CodePenのコーがこちらです。
30
+
31
+ 上書きされないようにするために修正すべき点をご教授願えませんでしょうか。
32
+
33
+ ```html
34
+
35
+ <h1>クリスマスプレゼント</h1>
36
+
37
+ <div class="list">
38
+
39
+ <div class="userdata">
40
+
41
+ <p>
42
+
43
+ <a href="http://example.com/girls/kelly">
44
+
45
+ <span class="name1">ケリー</span>&nbsp;
46
+
47
+ <span class="name2">@kelly</span>
48
+
49
+ </a>
50
+
51
+ </p>
52
+
53
+ </div>
54
+
55
+ <div data-item="バッグ" data-urltype="http://example.net/product/123" class="Target">
56
+
57
+ <img src="http://urx.red/OUBm" alt="">
58
+
59
+ </div>
60
+
61
+ </div>
62
+
63
+
64
+
65
+ <div class="list">
66
+
67
+ <div class="userdata">
68
+
69
+ <p>
70
+
71
+ <a href="http://example.com/girls/kelly">
72
+
73
+ <span class="name1">エレン</span>&nbsp;
74
+
75
+ <span class="name2">@ellen</span>
76
+
77
+ </a>
78
+
79
+ </p>
80
+
81
+ </div>
82
+
83
+ <div data-item="シューズ" data-urltype="http://example.net/product/456" class="Target">
84
+
85
+ <img src="http://ur0.link/P03G" alt="">
86
+
87
+ </div>
88
+
89
+ </div>
90
+
91
+
92
+
93
+ <div id="options_output">
94
+
95
+ <p>ここにクリックした内容のCookieが出力される。</p>
96
+
97
+ </div>
98
+
99
+ ```
100
+
101
+ ```jquery
102
+
103
+ $(function() {
104
+
105
+ var hers_length = 5;
106
+
107
+
108
+
109
+ // クッキー登録
110
+
111
+ $('.Target').on('click', function() {
112
+
113
+
114
+
115
+ var user = $(this).closest('.list').find('.userdata a').html();
116
+
117
+ var title = $('h1').text();
118
+
119
+ var urltype = $(this).attr('data-urltype');
120
+
121
+ var item = $(this).attr('data-item');
122
+
123
+
124
+
125
+ var params = JSON.parse($.cookie('options') || "{}");
126
+
127
+ if (typeof params !== "object" || typeof params.title == "undefined") {
128
+
129
+ params = {
130
+
131
+ user: [],
132
+
133
+ title: [],
134
+
135
+ urltype: [],
136
+
137
+ item: []
138
+
139
+ };
140
+
141
+ }
142
+
143
+
144
+
145
+ params.user.push(user);
146
+
147
+ params.title.push(title);
148
+
149
+ params.urltype.push(urltype);
150
+
151
+ params.item.push(item);
152
+
153
+
154
+
155
+ if (params.user.length > hers_length) {
156
+
157
+ params.user.shift();
158
+
159
+ params.title.shift();
160
+
161
+ params.urltype.shift();
162
+
163
+ params.item.shift();
164
+
165
+ }
166
+
167
+
168
+
169
+ var ul = $('<ul>');
170
+
171
+ params.user.forEach(function() {
172
+
173
+ var output = '<p>' + user + 'が<span>' + title + '</span>に欲しいのは<span data-urltype=' + urltype + '">' + item + '</span>です。';
174
+
175
+ $('<li>').append(output).appendTo(ul);
176
+
177
+ })
178
+
179
+
180
+
181
+ $('#options_output').html(ul);
182
+
183
+ $.cookie('options', JSON.stringify(params));
184
+
185
+
186
+
187
+ });
188
+
189
+
190
+
191
+ var cookie = $.cookie('options');
192
+
193
+ if (cookie) {
194
+
195
+ var params = JSON.parse(cookie);
196
+
197
+ var ul = $('<ul>');
198
+
199
+ params.user.forEach(function(user, i) {
200
+
201
+ var output = '<p>' + user + 'が<span>' + params.title[i] + '</span>に欲しいのは<span data-urltype=' + params.urltype[i] +
202
+
203
+ '">' + params.item[i] + '</span>です。';
204
+
205
+ $('<li>').append(output).appendTo(ul);
206
+
207
+ })
208
+
209
+ $('#options_output').html(ul);
210
+
211
+ }
212
+
213
+ });
214
+
215
+
216
+
217
+ ```
218
+
219
+
28
220
 
29
221
 
30
222