jQuery滚动函数上的CSS边框消失

jQuery滚动函数上的CSS边框消失,jquery,css,Jquery,Css,我已经在我的网站上为HTML表格创建了一个固定的表格标题。向下滚动时,表格标题保持在顶部,就像我希望的那样,因此用户可以记住有哪些列类别。然而,当向下滚动时,我为每个元素声明的CSS都消失了,CSS作为边框,字体的重量和文本对齐方式都被保留了下来。这是我的密码: HTML: jQuery: 为了保留/维护边框,我在jQuery中编辑了css方法,但输出结果相同: $th.css({'font-weight':'600', 'text-align':'center', 'border':'3px

我已经在我的网站上为HTML表格创建了一个固定的表格标题。向下滚动时,表格标题保持在顶部,就像我希望的那样,因此用户可以记住有哪些列类别。然而,当向下滚动时,我为每个元素声明的CSS都消失了,CSS作为边框,字体的重量和文本对齐方式都被保留了下来。这是我的密码:

HTML:

jQuery:

为了保留/维护边框,我在jQuery中编辑了css方法,但输出结果相同:

$th.css({'font-weight':'600', 'text-align':'center', 'border':'3px solid #3F2860', 'transform':'translateY('+ this.scrollTop + 'px)'});

从我阅读的文档中,css方法不会覆盖您在元素上放置的先前样式,而是附加到它。所以我认为我的问题不在于jQuery。这张桌子在这一页上,大约往下三分之一的地方。非常感谢您的帮助

这是因为您有边框塌陷:塌陷;在您的表元素上删除边框。如果更改它,然后使用所需的边框样式标记表,它应该可以工作。如果你仔细看一看,你添加的边界甚至不存在,使它像13px。你只会看到一个巨大的差距与实际的表格滚动背后

table{
  border-collapse: separate;
}

.tableFixHead thead th, .tableFixHead td{
  border: 3px solid #3F2860;
}

我看不到CSS在滚动上的变化。你的情况到底发生了什么?它就这样消失了?好像不在这里。你为什么不把你电脑上的CSS样式移到一个样式表中,而不是把它们放在一个行内呢?@Keith我很抱歉,我错了,多个属性消失了。因为某种原因,它实际上只是边界。我尝试了你的JSFIDLE,它在那里工作,但不知怎的,它在我这方面不起作用,它在这个网页上:。表格大约在页面下方的三分之一处。@zgood在发布此问题后,我意识到了同样的事情,但是在.css文件或内联中使用样式对我的问题没有影响。我知道您一定检查了网页,然后看到了表格元素的属性。接得好!
var $th = $('.tableFixHead').find('thead th')
$('.tableFixHead').on('scroll', function() {
   $th.css('transform', 'translateY('+ this.scrollTop +'px)');
});
$th.css({'font-weight':'600', 'text-align':'center', 'border':'3px solid #3F2860', 'transform':'translateY('+ this.scrollTop + 'px)'});
table{
  border-collapse: separate;
}

.tableFixHead thead th, .tableFixHead td{
  border: 3px solid #3F2860;
}