1

我的最终目标是让我的标题在窗口到达某个点时从相对位置切换到固定位置。在试图到达那里时,我想出了这个函数,它不会给我任何错误,但似乎也没有做任何事情。有人可以帮我理解为什么吗?这是页面上加载的最后一个脚本,并且在它之前调用了 jquery..

<script type="text/javascript">
$(function() {
var $window = $(window);
function top() {
var $top = $window.scrollTop();
if( $top > 100 ) {
    $("header").css("position","absolute"); 
}
else {
    $("header").css("position","fixed");    
}
};
});
</script>

如果我想将其限制为移动应用程序怎么办?不应该这样的工作......

<script type="text/javascript">
 $(function() {
     var $window = $(window).width();
     function windowWidth() {
         if ( $window < 480 ) {
      function top() {
          var $top = $window.scrollTop();
          if( $top > 100 ) {
             $("header").css("position","absolute"); 
           }
           else {
              $("header").css("position","fixed");    
          }
     };
     $(window).scroll(top);
         }
     };
   });
</script>
4

3 回答 3

1

使用$(window).scroll(top)或使用setTimeInterval(top, 100);

假设标头为 id

<script type="text/javascript">
 $(function() {
     var $window = $(window);
      function top() {
          var $top = $window.scrollTop();
          if( $top > 100 ) {
             $("#header").css("position","absolute"); 
           }
           else {
              $("#header").css("position","fixed");    
          }
     };
     $(window).scroll(top);
   });
</script>
于 2013-04-13T18:57:04.143 回答
0

它没有做任何事情的原因是你没有调用它。您没有任何东西可以触发代码。我假设这是你找到的这个脚本。如果您注意到它包含在 $(window).scroll 中,而不仅仅是函数,则可以触发它。

因此,您需要修改代码:

$(window).scroll(function() {
    if($(window).scrollTop() > 100) {
        $("header").css("position","absolute"); 
    } else {
        $("header").css("position","fixed");    
    }
});
于 2013-04-13T19:02:25.033 回答
0

我认为您没有.scroll()在给定代码中的任何地方调用该函数,因此它永远不会被触发:

<script type="text/javascript">
  $(function() {
     var $window = $(window);
     function top() {
        var $top = $window.scrollTop();
        if( $top > 100 ) {
            $("header").css("position","absolute"); 
        }else {
            $("header").css("position","fixed");    
        }
     };
     $window.scroll(top);
  });
</script>
于 2013-04-13T19:03:58.883 回答