回答編集履歴

4

for Q2

2015/08/10 06:51

投稿

hello-world
hello-world

スコア1342

test CHANGED
@@ -114,4 +114,70 @@
114
114
 
115
115
 
116
116
 
117
+ ---
117
118
 
119
+
120
+
121
+ > 2.「.MenuBody」の表示切り替え
122
+
123
+
124
+
125
+ 1. イベントの登録がおかしかったのを修正しました。`$(document).on('ready page:load', function(){`
126
+
127
+ 2. アニメーションの途中で消えるということだったので、アニメーションが完了してから`canFade`クラスを追加するようにした
128
+
129
+ 3. `over_flag`変数が正しく宣言されていなかったので、代わりに`isHover`クラスとして要素に持たせた
130
+
131
+
132
+
133
+ ```lang-javascript
134
+
135
+ $(document).on('ready page:load', function(){
136
+
137
+ $('.toggleMenu').click(function() {
138
+
139
+ if ($('.MenuBody').css('display') != 'block') {
140
+
141
+ $('.MenuBody').slideDown('1000','swing', function() {
142
+
143
+ $('.MenuBody').addClass('canFade');
144
+
145
+ });
146
+
147
+ } else if($('.MenuBody').hasClass('canFade')) {
148
+
149
+ $('.MenuBody').fadeOut('800');
150
+
151
+ }
152
+
153
+ });
154
+
155
+ $('.toggleMenu,.MenuBody').hover(function(){
156
+
157
+ $('.MenuBody').addClass('isHover');
158
+
159
+ }, function(){
160
+
161
+ $('.MenuBody').removeClass('isHover');
162
+
163
+ });
164
+
165
+ $('body').click(function() {
166
+
167
+ if ($('.MenuBody').hasClass('isHover') == false && $('.MenuBody').hasClass('canFade')) {
168
+
169
+ $('.MenuBody').fadeOut('800');
170
+
171
+ }
172
+
173
+ });
174
+
175
+ });
176
+
177
+
178
+
179
+ ```
180
+
181
+
182
+
183
+

3

append

2015/08/10 06:51

投稿

hello-world
hello-world

スコア1342

test CHANGED
@@ -38,7 +38,7 @@
38
38
 
39
39
 
40
40
 
41
- ----
41
+ ---
42
42
 
43
43
 
44
44
 
@@ -70,4 +70,48 @@
70
70
 
71
71
 
72
72
 
73
+ ---
73
74
 
75
+
76
+
77
+ 案2
78
+
79
+
80
+
81
+ ```lang-javascript
82
+
83
+ (function(){
84
+
85
+ var offset;
86
+
87
+
88
+
89
+ $(window).scroll(function () {
90
+
91
+ if(offset && $(window).scrollTop() > offset.top - 20) {
92
+
93
+ nav.addClass('fixed');
94
+
95
+ } else {
96
+
97
+ nav.removeClass('fixed');
98
+
99
+ }
100
+
101
+ });
102
+
103
+
104
+
105
+ $(document).on('ready page:load', function(){
106
+
107
+ offset = $('#fixMenu').offset();
108
+
109
+ })
110
+
111
+ })();
112
+
113
+ ```
114
+
115
+
116
+
117
+

2

change

2015/08/10 04:07

投稿

hello-world
hello-world

スコア1342

test CHANGED
@@ -42,42 +42,32 @@
42
42
 
43
43
 
44
44
 
45
- 追記
45
+ 改善案
46
46
 
47
47
 
48
48
 
49
49
  ```lang-javascript
50
50
 
51
+ $(window).scroll(function () {
51
52
 
52
-
53
- $(document).on('ready page:load', function() {
54
-
55
- var nav = $('#fixMenu'),
53
+ var nav = $('#fixMenu'),
56
54
 
57
55
  offset = nav.offset();
58
56
 
57
+ if($(window).scrollTop() > offset.top - 20) {
59
58
 
59
+ nav.addClass('fixed');
60
60
 
61
- $(window).scroll(function () {
61
+ } else {
62
62
 
63
- if($(window).scrollTop() > offset.top - 20) {
63
+ nav.removeClass('fixed');
64
64
 
65
- nav.addClass('fixed');
65
+ }
66
66
 
67
- } else {
68
-
69
- nav.removeClass('fixed');
70
-
71
- }
72
-
73
- });
67
+ });
74
-
75
- })
76
68
 
77
69
  ```
78
70
 
79
71
 
80
72
 
81
- この方法で一括登録できます。
82
73
 
83
-

1

append

2015/08/10 01:31

投稿

hello-world
hello-world

スコア1342

test CHANGED
@@ -35,3 +35,49 @@
35
35
 
36
36
 
37
37
  です。`ready`や`on(page:load)`に渡す関数の中でさらに`ready`に渡してもうまくいきません
38
+
39
+
40
+
41
+ ----
42
+
43
+
44
+
45
+ 追記
46
+
47
+
48
+
49
+ ```lang-javascript
50
+
51
+
52
+
53
+ $(document).on('ready page:load', function() {
54
+
55
+ var nav = $('#fixMenu'),
56
+
57
+ offset = nav.offset();
58
+
59
+
60
+
61
+ $(window).scroll(function () {
62
+
63
+ if($(window).scrollTop() > offset.top - 20) {
64
+
65
+ nav.addClass('fixed');
66
+
67
+ } else {
68
+
69
+ nav.removeClass('fixed');
70
+
71
+ }
72
+
73
+ });
74
+
75
+ })
76
+
77
+ ```
78
+
79
+
80
+
81
+ この方法で一括登録できます。
82
+
83
+