質問編集履歴

1

emulateScrollメソッド追記

2017/03/31 15:17

投稿

merry
merry

スコア13

test CHANGED
File without changes
test CHANGED
@@ -218,6 +218,102 @@
218
218
 
219
219
 
220
220
 
221
+
222
+
223
+
224
+
225
+ ```ここに言語を入力
226
+
227
+ emulateScroll : function _emulateScroll(e) {
228
+
229
+ e = e || window.event; //for legacy IE
230
+
231
+ e.preventDefault();// デフォルトのスクロール動作をキャンセル
232
+
233
+ e.cancelBubble = true;
234
+
235
+ e.stopPropagation();
236
+
237
+ var self = this;
238
+
239
+
240
+
241
+
242
+
243
+ // ここからイベントの処理
244
+
245
+ if (!_emulateScroll.setListener) {
246
+
247
+ this.addEvent(window, "touchstart", function() {
248
+
249
+ self.touchStart();
250
+
251
+ });
252
+
253
+
254
+
255
+ _emulateScroll.setListener = true;
256
+
257
+ }
258
+
259
+
260
+
261
+ if (e.type == "touchmove") {
262
+
263
+
264
+
265
+ // 割愛 ///////////////////////
266
+
267
+
268
+
269
+ } else if (e.type == "wheel") {
270
+
271
+ Merimiroll.clock = e.timeStamp - Merimiroll.save;
272
+
273
+ Merimiroll.save = e.timeStamp;
274
+
275
+
276
+
277
+ if (Merimiroll.clock < Merimiroll.clock_limit) {
278
+
279
+ return false;// 比較結果が指定ミリ秒より少ない場合はキャンセル
280
+
281
+ }
282
+
283
+
284
+
285
+ // pcでスクロールされた時
286
+
287
+ if (this.getDelta(e) < 0 && Merimiroll.scroll.y > -distance_max) {
288
+
289
+ // 下にスクロールした場合の処理
290
+
291
+ Merimiroll.scroll.targetY = (Merimiroll.scroll.y + -Merimiroll.speed);
292
+
293
+ } else if (this.getDelta(e) > 0) {
294
+
295
+ // 上にスクロールした場合の処理
296
+
297
+ if (Merimiroll.scroll.y >= -distance_max && Merimiroll.scroll.y !== 0) {
298
+
299
+ Merimiroll.scroll.targetY = (Merimiroll.scroll.y + Merimiroll.speed);
300
+
301
+ }
302
+
303
+ }
304
+
305
+ }
306
+
307
+ }
308
+
309
+ ```
310
+
311
+
312
+
313
+
314
+
315
+
316
+
221
317
  ##トップへ戻るボタンへ登録するイベントハンドラ
222
318
 
223
319
  hrefから#hogeを取得しその要素(移動先)の座標を取得