search

Home  >  Q&A  >  body text

javascript - jsp页面中,一个table数据有很多列,有上下左右滚动条,怎样可以表格数据横向拖动的时候,表格的前四列固定不动?

自己百度 谷歌好多案例, 但是都不太符合现在的项目,现在的项目是一个table,百度案例要么是用插件,要么是两个table,但是这样改动会太大,要么是用新的p复制table的前四列,这样表格的点击事件将会失效,自己写了一个但是在ie8下面兼容性不好,拖动横向滚动条的时候,前四列会等个几秒钟才出来,滚动条拉动很拖拉。希望大家给点建议,谢谢。
以下是自己的代码:

<script>
$(function() { 
$(".scrollp").scroll(function(){
            $(".selectBox").each(function() {
            $(this).css("left",($(".scrollp").scrollLeft())+"px").css({"position":"relative"}).css({"border-right":"1px solid #bbb"}).css({"border-left":"1px solid #bbb"});
            $(".selectBox:even").addClass("evenclass"); 
            $(".selectBox:odd").addClass("oaddclass"); 
            });
        });
$(".scrollp").scroll(function(){
            $(".xh").each(function() {
            $(this).css("left",($(".scrollp").scrollLeft())+"px").css({"position":"relative"}).css({"border-right":"1px solid #bbb"}).css({"border-left":"1px solid #bbb"});
            $(".xh:even").addClass("evenclass"); 
            $(".xh:odd").addClass("oaddclass"); 
            });
        });
$(".scrollp").scroll(function(){
            $(".status").each(function() {
            $(this).css("left",($(".scrollp").scrollLeft())+"px").css({"position":"relative"}).css({"border-right":"1px solid #bbb"}).css({"border-left":"1px solid #bbb"});
            $(".status:even").addClass("evenclass"); 
            $(".status:odd").addClass("oaddclass");
            });
        });
$(".scrollp").scroll(function(){
            $(".DH").each(function() {
            $(this).css("left",($(".scrollp").scrollLeft())+"px").css({"position":"relative"}).css({"position":"relative"}).css({"border-right":"1px solid #bbb"}).css({"border-left":"1px solid #bbb"});
            $(".DH:even").addClass("evenclass"); 
            $(".DH:odd").addClass("oaddclass"); 
            });
        });
    });
</script>

黄舟黄舟2872 days ago1001

reply all(3)I'll reply

  • 怪我咯

    怪我咯2017-04-11 13:21:01

    fixed或者absolute都可以实现。
    设计思路,给你要固定的行和列设置class。
    .class{position:abolsute}
    如果覆盖了,尝试新增加一个td,用js动态添加。。

    reply
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 13:21:01

    这个可以去找一下插件,http://www.17sucai.com/pins/5...,这个插件很不错

    reply
    0
  • PHP中文网

    PHP中文网2017-04-11 13:21:01

    以前写过类似的,没有用插件,手写的。有一些差别,也可以参考下。
    点击查看demo

    reply
    0
  • Cancelreply