回答編集履歴

3

プログラム部分のコメント訂正

2018/04/24 10:30

投稿

mix-peach
mix-peach

スコア1910

test CHANGED
@@ -102,7 +102,7 @@
102
102
 
103
103
  });
104
104
 
105
- //い幅でだけ動かしたい
105
+ //い幅でだけ動かしたい
106
106
 
107
107
  $('.dummy2').on('click', function(e){
108
108
 
@@ -116,7 +116,7 @@
116
116
 
117
117
  });
118
118
 
119
- //い幅でだけ動かしたい
119
+ //い幅でだけ動かしたい
120
120
 
121
121
  $('.dummy3').on('click', function(e){
122
122
 

2

プログラム部分にコメントを追加しました・・・

2018/04/24 10:29

投稿

mix-peach
mix-peach

スコア1910

test CHANGED
@@ -72,17 +72,23 @@
72
72
 
73
73
  }
74
74
 
75
- //リサイズが終わったら、サイズを計ります。1162以上なら、pc_viewがtureに、未満ならfalseになる
75
+ //リサイズが終わったら、判定用にサイズを計ります。1162以上なら、pc_viewがtureに、未満ならfalseになる
76
76
 
77
77
  timer = setTimeout(function() { pc_view = ($(window).width() >= 1162)} ,0);
78
78
 
79
79
  });
80
+
81
+
82
+
83
+ //イベントはいつでも設定しておく
80
84
 
81
85
  $(function(){
82
86
 
83
87
  //幅それぞれで動作を変えたい
84
88
 
85
89
  $('.dummy1').on('click', function(e) {
90
+
91
+ //イベントの中で分岐処理
86
92
 
87
93
  if(pc_view){
88
94
 
@@ -100,6 +106,8 @@
100
106
 
101
107
  $('.dummy2').on('click', function(e){
102
108
 
109
+ //イベントの中で分岐処理
110
+
103
111
  if(pc_view){
104
112
 
105
113
  func_pc('dummy2');
@@ -111,6 +119,8 @@
111
119
  //広い幅でだけ動かしたい
112
120
 
113
121
  $('.dummy3').on('click', function(e){
122
+
123
+ //イベントの中で分岐処理
114
124
 
115
125
  if(!pc_view){
116
126
 

1

プログラム例の追記

2018/04/24 10:28

投稿

mix-peach
mix-peach

スコア1910

test CHANGED
@@ -9,3 +9,149 @@
9
9
  リサイズするたびに、イベントを削除したり設定したりをガンバルより、
10
10
 
11
11
  単純でいいのでは?と思いました。
12
+
13
+
14
+
15
+ ---
16
+
17
+
18
+
19
+ 具体的にどちらの幅で何をされたいのかを、把握するのに時間がかかりそうだったので、
20
+
21
+
22
+
23
+ サンプルを書いてみました
24
+
25
+ コピってファイルに保存して、ネットワークの繋がった環境でブラウザで開けば
26
+
27
+ たぶん動くはずなのです。。。
28
+
29
+
30
+
31
+ 参考になるといいですが。
32
+
33
+
34
+
35
+ ```javascript
36
+
37
+ <!DOCTYPE html>
38
+
39
+ <head>
40
+
41
+ <meta charset="UTF-8">
42
+
43
+ <title>test</title>
44
+
45
+ <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
46
+
47
+ <script >
48
+
49
+ var func_pc = function(clsname) {
50
+
51
+ alert('1162以上だよー。 '+clsname);
52
+
53
+ };
54
+
55
+ var func_sp = function(clsname) {
56
+
57
+ alert('1162未満だよー。'+clsname);
58
+
59
+ };
60
+
61
+
62
+
63
+ var timer = false;
64
+
65
+ var pc_view = true;
66
+
67
+ $(window).on('load resize', function(){
68
+
69
+ if (timer !== false) {
70
+
71
+ clearTimeout(timer);
72
+
73
+ }
74
+
75
+ //リサイズが終わったら、サイズを計ります。1162以上なら、pc_viewがtureに、未満ならfalseになる
76
+
77
+ timer = setTimeout(function() { pc_view = ($(window).width() >= 1162)} ,0);
78
+
79
+ });
80
+
81
+ $(function(){
82
+
83
+ //幅それぞれで動作を変えたい
84
+
85
+ $('.dummy1').on('click', function(e) {
86
+
87
+ if(pc_view){
88
+
89
+ func_pc('dummy1');
90
+
91
+ }else{
92
+
93
+ func_sp('dummy1');
94
+
95
+ }
96
+
97
+ });
98
+
99
+ //狭い幅でだけ動かしたい
100
+
101
+ $('.dummy2').on('click', function(e){
102
+
103
+ if(pc_view){
104
+
105
+ func_pc('dummy2');
106
+
107
+ }
108
+
109
+ });
110
+
111
+ //広い幅でだけ動かしたい
112
+
113
+ $('.dummy3').on('click', function(e){
114
+
115
+ if(!pc_view){
116
+
117
+ func_sp('dummy3');
118
+
119
+ }
120
+
121
+ });
122
+
123
+ });
124
+
125
+ </script>
126
+
127
+
128
+
129
+ <style >
130
+
131
+ a { display: block; line-height: 20px; border: 1px black solid; padding: 5px; width: 100px; }
132
+
133
+ </style>
134
+
135
+ </head>
136
+
137
+
138
+
139
+ <body>
140
+
141
+ <a class="dummy1" href="javascript:void(0);">ダミー1</a>
142
+
143
+
144
+
145
+ <a class="dummy2" href="javascript:void(0);">ダミー2</a>
146
+
147
+
148
+
149
+ <a class="dummy3" href="javascript:void(0);">ダミー3</a>
150
+
151
+ </body>
152
+
153
+ </html>
154
+
155
+
156
+
157
+ ```