回答編集履歴

2

記述ミス

2015/07/16 09:35

投稿

noise
noise

スコア256

test CHANGED
@@ -98,11 +98,7 @@
98
98
 
99
99
  timer = setTimeout(function() {
100
100
 
101
- var $body = $('body')
102
-
103
- var nav = $('#fixedBox');
104
-
105
- var nav_offset = nav.offset().top;
101
+ nav_offset = nav.offset().top; //この一行だけにしてみるとか(^v^)
106
102
 
107
103
  }, 200);
108
104
 

1

コメント後のソース追加

2015/07/16 09:35

投稿

noise
noise

スコア256

test CHANGED
@@ -39,3 +39,77 @@
39
39
 
40
40
 
41
41
  ご参考程度の回答ですが、何かのヒントになれば幸いです。
42
+
43
+
44
+
45
+ --------------------------------------------------コメント後の追記
46
+
47
+
48
+
49
+ // resize後処理箇所を修正してみました
50
+
51
+
52
+
53
+ ```javascript
54
+
55
+ $(function() {
56
+
57
+ var $body = $('body')
58
+
59
+ var nav = $('#fixedBox'); //navのid
60
+
61
+ var nav_offset = nav.offset().top;
62
+
63
+ $(window).scroll(function(){
64
+
65
+ var now_offset = $(window).scrollTop();
66
+
67
+ if(now_offset >= nav_offset ) {
68
+
69
+ $body.addClass('fixed'); //別事情でbody.fixed nav position:fixed みたいにしております
70
+
71
+ } else {
72
+
73
+ $body.removeClass('fixed');
74
+
75
+ }
76
+
77
+ });
78
+
79
+ });
80
+
81
+
82
+
83
+
84
+
85
+ $(function() {
86
+
87
+ var timer = false;
88
+
89
+ $(window).on('load resize', function(){
90
+
91
+ if (timer !== false) {
92
+
93
+ clearTimeout(timer);
94
+
95
+ }
96
+
97
+ // resize後処理
98
+
99
+ timer = setTimeout(function() {
100
+
101
+ var $body = $('body')
102
+
103
+ var nav = $('#fixedBox');
104
+
105
+ var nav_offset = nav.offset().top;
106
+
107
+ }, 200);
108
+
109
+ });
110
+
111
+ });
112
+
113
+
114
+
115
+ ```