if(div的高度<滚动条的高度){这里设置div的属性position为fixed,top:0}else{这里设置div高度为原来的高度}
<body><div style="background: #999height: 500px"></div>
<div id="nav" style="width: 100%background: #eee">菜单</div>
<div style="background: #999height:1900px"></div>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
var nav= $('#nav')
nav.attr('otop', dv.offset().top)//存储原来的距离顶部的距离
$(window).scroll(function () {
st = Math.max(document.body.scrollTop || document.documentElement.scrollTop)
if (st >= parseInt(nav.attr('otop'))) {
if (nav.css('position') != 'fixed') nav.css({ 'position': 'fixed', top:0})
}else if (nav.css('position') != 'static') nav.css({ 'position': 'static' })
})
})
</script>
</body>
这种固定导航的效果,很多电商例如淘宝,都会有。我说说他们的实现方法。
一,js算scroll的高度,就是滚动条滚了多高。
二,算悬浮的导航距离顶部的高度。
三,window的时候,对比这两个高度,如果一大于二,那么导航加个fixed。(IE7以上都有效)
然后用js处理下IE6就行。
建议去搜下相关js代码,我一般都用jQuery写。
你想要的table的头部也是一个道理,但是thead没办法fixed吧?
所以弄2个table吧,1个table放头部内容,1个table放具体内容。
另外,expression慎用,消耗浏览器资源不是一点两点。