質問編集履歴

2

誤字・文法の訂正・様式の変更しておきました。

2018/07/31 05:56

投稿

Leon-Lionking
Leon-Lionking

スコア37

test CHANGED
File without changes
test CHANGED
@@ -1,16 +1,84 @@
1
- スマートフォンにタップすると何故か2回押さないとページ遷移しないといけないらしいす。
1
+ iPhone にタップすると何故か2回押さないとページ遷移しす。
2
+
3
+
4
+
5
+ ### 前提・実現したいこと
2
6
 
3
7
 
4
8
 
5
9
  実行したい内容
6
10
 
7
- ・タップ1回だけでページ遷移したい
11
+ iPhone タップ1回だけでページ遷移したい
12
+
8
-
13
+ ・onMouseover を onTouchstart に切り替えると、タップ1回はページ遷移できますが、扉が開く動作が作動しません。
14
+
15
+
16
+
9
-
17
+ ### 他のサイトを見て試したこと
18
+
19
+
20
+
10
-
21
+ [スマホでもPCと同じマウスオーバーの効果を与える方法|猫の手相](https://nekonotesou.net/jquery-touchstart/)
22
+
23
+
24
+
25
+ 一部改変してあります。
26
+
27
+ ```javascript
28
+
29
+ var linkTouchStart = function(){
30
+
31
+ thisAnchor = $(this);
32
+
33
+ touchPos = thisAnchor.offset().top;
34
+
11
- ※HTML CSS は省略させていただきます。
35
+ moveCheck = function(){
36
+
12
-
37
+ nowPos = thisAnchor.offset().top;
38
+
13
-
39
+ if(touchPos == nowPos){
40
+
41
+ thisAnchor.addClass("link");
42
+
43
+ }
44
+
45
+ }
46
+
47
+ setTimeout(moveCheck,100);
48
+
49
+ }
50
+
51
+ var linkTouchEnd = function(){
52
+
53
+ thisAnchor = $(this);
54
+
55
+ hoverRemove = function(){
56
+
57
+ thisAnchor.removeClass("link");
58
+
59
+ }
60
+
61
+ setTimeout(hoverRemove,500);
62
+
63
+ }
64
+
65
+
66
+
67
+ $(document).on('touchstart onmouseover','a',linkTouchStart);
68
+
69
+ $(document).on('touchend onmouseout','a',linkTouchEnd);
70
+
71
+ ```
72
+
73
+
74
+
75
+
76
+
77
+ ### 該当のソースコード
78
+
79
+
80
+
81
+ javascript
14
82
 
15
83
  ```js
16
84
 
@@ -28,11 +96,11 @@
28
96
 
29
97
  o=0;
30
98
 
31
- id=["page01","page02","page03","page04"];//のid
99
+ id=["tap01","tap02","page03"];//のid
32
-
100
+
33
- value=[0.90,0.28,0.45,0.5]; //画像の位置の初期値
101
+ value=[0.90,0.28,0.45]; //画像の位置の初期値
34
-
102
+
35
- value2=[0.35,0.50,0.35,0.20]; //画像の位置の初期値
103
+ value2=[0.35,0.50,0.35]; //画像の位置の初期値
36
104
 
37
105
  v = 1;//扉画像を切り替えるための変数
38
106
 
@@ -374,8 +442,20 @@
374
442
 
375
443
 
376
444
 
377
- <p class="tap" id="tap" onMouseover="onMouse(this,'ページ1');" onMouseout="outMouse(this);"><a href="./page01/">ページ01に飛ぶ</a></p>
445
+ <p class="tap01" id="tap01" onMouseover="onMouse(this,'ページ1');" onMouseout="outMouse(this);"><a href="./page01/">ページ01に飛ぶ</a></p>
446
+
447
+ <p class="tap02" id="tap02" onMouseover="onMouse(this,'ページ2');" onMouseout="outMouse(this);"><a href="./page02/">ページ02に飛ぶ</a></p>
448
+
449
+ <p class="tap03" id="tap03" onMouseover="onMouse(this,'ページ3');" onMouseout="outMouse(this);"><a href="./page03/">ページ03に飛ぶ</a></p>
378
450
 
379
451
  </div>
380
452
 
381
453
  ```
454
+
455
+
456
+
457
+ ※CSSは割愛させていただきます。
458
+
459
+
460
+
461
+ ご教示お願い致します。

1

記入漏れがあったため、再記入させていただきました。

2018/07/31 05:56

投稿

Leon-Lionking
Leon-Lionking

スコア37

test CHANGED
File without changes
test CHANGED
@@ -358,8 +358,24 @@
358
358
 
359
359
  ```html
360
360
 
361
+ <div class="content">
362
+
363
+ <!-- 扉を開くスクリプトを呼び出す # -->
364
+
365
+ <img src="./img/door_1.jpg" id="element1" />
366
+
367
+ <img src="./img/door_2.jpg" id="element2" />
368
+
369
+ <img src="./img/door_3.jpg" id="element3" />
370
+
371
+ <img src="./img/door_4.jpg" id="element4" />
372
+
373
+ <!-- # 扉を開くスクリプトを呼び出す ここまで -->
374
+
375
+
376
+
361
377
  <p class="tap" id="tap" onMouseover="onMouse(this,'ページ1');" onMouseout="outMouse(this);"><a href="./page01/">ページ01に飛ぶ</a></p>
362
378
 
363
-
379
+ </div>
364
380
 
365
381
  ```