質問編集履歴

3

内容を追記しました

2019/12/16 07:29

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- 【jQuery】フリックの条件分岐を完成させたい
1
+ 【jQuery】フリックの条件分岐について教えていだきたです
test CHANGED
@@ -233,3 +233,123 @@
233
233
  </script>
234
234
 
235
235
  ```
236
+
237
+
238
+
239
+ ### 動作する仕様書に書いてあるJavaScript
240
+
241
+ ```script
242
+
243
+ $(function(){
244
+
245
+ var h=$(".swipe-photo-thumbnail").width(),
246
+
247
+ a=$(".swipe-photo-item").length,
248
+
249
+ k=[],
250
+
251
+ d={x:undefined,thisX:undefined,startX:undefined,moveX:undefined};
252
+
253
+
254
+
255
+
256
+
257
+ for(var c=0; c<=a; c++){
258
+
259
+ k[c] = -c*h
260
+
261
+ }
262
+
263
+
264
+
265
+
266
+
267
+ $(".swipe-photo-container").width(h*a);
268
+
269
+
270
+
271
+
272
+
273
+ // 指に触ったときの処理
274
+
275
+ $(".swipe-photo-item").on({touchstart:function(event){
276
+
277
+ d.thisX=parseInt($(".swipe-photo-container").css("left"));
278
+
279
+ d.startX=event.originalEvent.changedTouches[0].pageX-d.thisX
280
+
281
+ },
282
+
283
+
284
+
285
+
286
+
287
+ // 指を動かしてるときの処理
288
+
289
+ touchmove:function(event){
290
+
291
+ event.preventDefault();
292
+
293
+ d.x=event.originalEvent.changedTouches[0].pageX;
294
+
295
+
296
+
297
+ if(d.x-d.startX >= 0){
298
+
299
+ d.moveX=0
300
+
301
+ }else{
302
+
303
+ if(d.x-d.startX <= k[a-1]){
304
+
305
+ d.moveX=k[a-1]
306
+
307
+ }else{
308
+
309
+ d.moveX = d.x-d.startX
310
+
311
+ }
312
+
313
+ }
314
+
315
+ $(".swipe-photo-container").css({left:d.moveX})
316
+
317
+ },
318
+
319
+
320
+
321
+
322
+
323
+ // 指を離したときの処理
324
+
325
+ touchend:function(n){
326
+
327
+ var m = "";
328
+
329
+
330
+
331
+ for(var l=0; l<a; l++){
332
+
333
+ if(k[l]+(h/2) > d.moveX && d.moveX >= k[l+1]+(h/2)){
334
+
335
+ m=l
336
+
337
+ }
338
+
339
+ }
340
+
341
+
342
+
343
+
344
+
345
+ $(".swipe-photo-container").animate({
346
+
347
+ left:k[m]
348
+
349
+ },400)}
350
+
351
+ })
352
+
353
+ });
354
+
355
+ ```

2

flickEndのイベント処理を修正

2019/12/16 07:29

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -168,13 +168,13 @@
168
168
 
169
169
  flickEnd = function flickEnd(event){
170
170
 
171
- if (diffX/2 < ){ // 右から左にフリックしたサムネイル画像の移動距離が半分を超えたら左に移動
171
+ if (diffX < slideWidth/2){ // 右から左にフリックしたサムネイル画像の移動距離が半分を超えたら左に移動
172
172
 
173
173
  左にスライドする処理
174
174
 
175
175
  sliding();
176
176
 
177
- } else if(diffX/2 > ){ // 左から右にフリックしたサムネイル画像の移動距離が半分を超えたら右に移動
177
+ } else if(diffX > slideWidth/2){ // 左から右にフリックしたサムネイル画像の移動距離が半分を超えたら右に移動
178
178
 
179
179
  右にスライドする処理
180
180
 

1

参考記事追加

2019/12/16 07:10

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  指を離したときの条件分岐をどのように書けべ良いかを教えていただけると幸いです。
4
4
 
5
+ 参考にした[記事](http://doshirouto.wp.xdomain.jp/web/javascript-web/1726)
6
+
5
7
 
6
8
 
7
9
  ### やってみたこと