teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

記述ミス

2015/07/16 09:35

投稿

noise
noise

スコア256

answer CHANGED
@@ -48,9 +48,7 @@
48
48
  }
49
49
  // resize後処理
50
50
  timer = setTimeout(function() {
51
- var $body = $('body')
52
- var nav = $('#fixedBox');
53
- var nav_offset = nav.offset().top;
51
+ nav_offset = nav.offset().top; //この一行だけにしてみるとか(^v^)
54
52
  }, 200);
55
53
  });
56
54
  });

1

コメント後のソース追加

2015/07/16 09:35

投稿

noise
noise

スコア256

answer CHANGED
@@ -18,4 +18,41 @@
18
18
 
19
19
  ※どうすれば再設定できるかは、どのように実装しているのかが分からないと想定できません
20
20
 
21
- ご参考程度の回答ですが、何かのヒントになれば幸いです。
21
+ ご参考程度の回答ですが、何かのヒントになれば幸いです。
22
+
23
+ --------------------------------------------------コメント後の追記
24
+
25
+ // resize後処理箇所を修正してみました
26
+
27
+ ```javascript
28
+ $(function() {
29
+ var $body = $('body')
30
+ var nav = $('#fixedBox'); //navのid
31
+ var nav_offset = nav.offset().top;
32
+ $(window).scroll(function(){
33
+ var now_offset = $(window).scrollTop();
34
+ if(now_offset >= nav_offset ) {
35
+ $body.addClass('fixed'); //別事情でbody.fixed nav position:fixed みたいにしております
36
+ } else {
37
+ $body.removeClass('fixed');
38
+ }
39
+ });
40
+ });
41
+
42
+
43
+ $(function() {
44
+ var timer = false;
45
+ $(window).on('load resize', function(){
46
+ if (timer !== false) {
47
+ clearTimeout(timer);
48
+ }
49
+ // resize後処理
50
+ timer = setTimeout(function() {
51
+ var $body = $('body')
52
+ var nav = $('#fixedBox');
53
+ var nav_offset = nav.offset().top;
54
+ }, 200);
55
+ });
56
+ });
57
+
58
+ ```