2015-06-20 66 views
0

我正在使用以下脚本来滚动页面时修复了我的菜单。滚动功能使左侧收缩

var num = 5; 
$(window).bind('scroll', function() { 
    if ($(window).scrollTop() > num) { 
     $('.scroll').css({'position':'fixed', 'top':'0px'}); 
    } else { 
     $('.scroll').css({'position':'', 'top':''}); 
    } 
}); 

我正在使用此脚本的表。请参阅Jsfiddle。 向下滚动时,该标题将收缩至左侧。

为什么发生这种情况,我该如何解决? 它应该支持主流浏览器(不是IE)。

+0

那是因为你还没有设置左,你需要,如默认值是0(左边框)。 – lshettyl

+0

@LShetty我没有得到你 – KarSho

+0

你可以看到这一点,使只对表身 http://stackoverflow.com/questions/17067294/html-table-with-100-width-with-滚动vertical-scroll-inside-tbody – Jala

回答

1

当您设置position: fixed左侧的道具似乎设置为0.因此,标题正在移动到左侧角落。你可能必须玩displaywidth道具来做你的事情。另请注意,添加/删除类比通过.css()设置内联样式更好。看看下面的演示,并相应地调整代码以满足您的需求。

var num = 5; 
 
$(document).bind('scroll', function() { 
 
    if ($(document).scrollTop() > num) { 
 
\t \t $('.scroll').addClass("scrolled"); 
 
    } else { 
 
     $('.scroll').removeClass("scrolled"); 
 
    } 
 
});
.scroll { width: 100%; } 
 
.scroll th { width: 49% } 
 
.scrolled { position: fixed; top: 0; } 
 
.scrolled th { display: inline-block; width: 47.5% }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table id="mytable" width="100%"> 
 
    <thead> 
 
     <tr class="scroll"> 
 
      <th>Id</th> 
 
      <th>Value</th> 
 
     </tr> 
 
    </thead> 
 
    <tbody> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     <tr> 
 
      <td align="center" width="20%">0</td> 
 
      <td align="center" width="20%">1</td> 
 
     </tr> 
 
     
 
    </tbody> 
 
</table>

有可能是做这件事的其他方式,但是这是我能迅速地想的:)

+0

只需2个字段即可。如果我有超过5个不同宽度的字段意味着什么?合理。 – KarSho

+0

用完整的表格发表小提琴。 – lshettyl