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

質問編集履歴

3

内容を追記しました

2019/12/16 07:29

投稿

退会済みユーザー
title CHANGED
@@ -1,1 +1,1 @@
1
- 【jQuery】フリックの条件分岐を完成させたい
1
+ 【jQuery】フリックの条件分岐について教えていだきたです
body CHANGED
@@ -115,4 +115,64 @@
115
115
  })();
116
116
  });
117
117
  </script>
118
+ ```
119
+
120
+ ### 動作する仕様書に書いてあるJavaScript
121
+ ```script
122
+ $(function(){
123
+ var h=$(".swipe-photo-thumbnail").width(),
124
+ a=$(".swipe-photo-item").length,
125
+ k=[],
126
+ d={x:undefined,thisX:undefined,startX:undefined,moveX:undefined};
127
+
128
+
129
+ for(var c=0; c<=a; c++){
130
+ k[c] = -c*h
131
+ }
132
+
133
+
134
+ $(".swipe-photo-container").width(h*a);
135
+
136
+
137
+ // 指に触ったときの処理
138
+ $(".swipe-photo-item").on({touchstart:function(event){
139
+ d.thisX=parseInt($(".swipe-photo-container").css("left"));
140
+ d.startX=event.originalEvent.changedTouches[0].pageX-d.thisX
141
+ },
142
+
143
+
144
+ // 指を動かしてるときの処理
145
+ touchmove:function(event){
146
+ event.preventDefault();
147
+ d.x=event.originalEvent.changedTouches[0].pageX;
148
+
149
+ if(d.x-d.startX >= 0){
150
+ d.moveX=0
151
+ }else{
152
+ if(d.x-d.startX <= k[a-1]){
153
+ d.moveX=k[a-1]
154
+ }else{
155
+ d.moveX = d.x-d.startX
156
+ }
157
+ }
158
+ $(".swipe-photo-container").css({left:d.moveX})
159
+ },
160
+
161
+
162
+ // 指を離したときの処理
163
+ touchend:function(n){
164
+ var m = "";
165
+
166
+ for(var l=0; l<a; l++){
167
+ if(k[l]+(h/2) > d.moveX && d.moveX >= k[l+1]+(h/2)){
168
+ m=l
169
+ }
170
+ }
171
+
172
+
173
+ $(".swipe-photo-container").animate({
174
+ left:k[m]
175
+ },400)}
176
+ })
177
+ });
118
178
  ```

2

flickEndのイベント処理を修正

2019/12/16 07:29

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -83,10 +83,10 @@
83
83
 
84
84
  // 指を離したときの処理
85
85
  flickEnd = function flickEnd(event){
86
- if (diffX/2 < ){ // 右から左にフリックしたサムネイル画像の移動距離が半分を超えたら左に移動
86
+ if (diffX < slideWidth/2){ // 右から左にフリックしたサムネイル画像の移動距離が半分を超えたら左に移動
87
87
  左にスライドする処理
88
88
  sliding();
89
- } else if(diffX/2 > ){ // 左から右にフリックしたサムネイル画像の移動距離が半分を超えたら右に移動
89
+ } else if(diffX > slideWidth/2){ // 左から右にフリックしたサムネイル画像の移動距離が半分を超えたら右に移動
90
90
  右にスライドする処理
91
91
  sliding();
92
92
  }

1

参考記事追加

2019/12/16 07:10

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -1,5 +1,6 @@
1
1
  jQueryでフリックの実装をしているのですが、画像を右から左に(左から右に)半分以上動かしたら画像が動くという処理が上手く書けないため質問させていただきました。
2
2
  指を離したときの条件分岐をどのように書けべ良いかを教えていただけると幸いです。
3
+ 参考にした[記事](http://doshirouto.wp.xdomain.jp/web/javascript-web/1726)
3
4
 
4
5
  ### やってみたこと
5
6