首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

怎么实现这样一个效果,就是页面中滚动条往下拉的时候,有一个div或者div超过页面最上端是,就让它固定在页面最上方,滚动条再往下拉时,可以恢复原样

2013-09-11 
怎样实现这样一个效果,就是页面中滚动条往下拉的时候,有一个div或者div超过页面最上端是,就让它固定在页面

怎样实现这样一个效果,就是页面中滚动条往下拉的时候,有一个div或者div超过页面最上端是,就让它固定在页面最上方,滚动条再往下拉时,可以恢复原样?


怎样实现这样一个效果,就是页面中滚动条往下拉的时候,

有一个div或者div超过页面最上端是,就让它固定在页面最上方,滚动条再往下拉时,可以恢复原样?

如图,文字部分一行,其实是一个table,做的一行,我想在页面滚动条往下拉时,这个页面会往上滑,当这个table的头到达页面顶端时,让其停留在页面顶端。

滚动条往上拉时,当table恢复到原始位置时,又可以继续恢复原始效果。
[解决办法]
思路:绝对定位,y坐标<0 时就把它改为0. 可以用js实现。 
[解决办法]
com.style(id, {position : "fixed"});
不管滚动条到哪里,div的位置始终不变
[解决办法]

 var ie6 = /msie 6/i.test(navigator.userAgent);
  var tableDv = $('.table-css1');
      var st;
      tableDv.attr('otop', tableDv.offset().top); //存储原来的距离顶部的距离
      $(window).scroll(function () {
          st = Math.max(document.body.scrollTop 
[解决办法]
 document.documentElement.scrollTop);
          if (st>= parseInt(tableDv.attr('otop'))) {
              if (ie6) {//IE6不支持fixed属性,所以只能靠设置position为absolute和top实现此效果
              tableDv.css({ position: 'absolute', top: st });
              }
              else if (tableDv.css('position') != 'fixed') tableDv.css({ 'position': 'fixed', top: 0 });
          } else if (tableDv.css('position') != 'static') tableDv.css({ 'position': 'static' });


      });




哥们  上面的代码 你只需要把固定的id传进去即可  其他不用改

热点排行