Javascript Mac Safari 7渲染问题scrollLeft()问题

Javascript Mac Safari 7渲染问题scrollLeft()问题,javascript,jquery,safari,scroll,Javascript,Jquery,Safari,Scroll,我创建了一个动态表,它可以左右滚动,有可调整大小的列,有固定的标题,等等。这个表在我尝试过的每个浏览器上都非常有效。即使IE8看起来很好,但仍然很好 当我尝试在Macbook上的Safari 7.0.4中查看表格时,会出现此问题 附件为底部固定标题的外观,用于演示: 滚动时,固定标题、正文和固定滚动条都通过一些jQuery scrollLeft函数连接滚动一、滚动全部: var tableHeaderSpace = $('.table-full-wrap-space'), tableHe

我创建了一个动态表,它可以左右滚动,有可调整大小的列,有固定的标题,等等。这个表在我尝试过的每个浏览器上都非常有效。即使IE8看起来很好,但仍然很好

当我尝试在Macbook上的Safari 7.0.4中查看表格时,会出现此问题

附件为底部固定标题的外观,用于演示:

滚动时,固定标题、正文和固定滚动条都通过一些jQuery scrollLeft函数连接滚动一、滚动全部:

var tableHeaderSpace = $('.table-full-wrap-space'),
    tableHeader = $('.table-full-wrap-header'),
    tableBody = $('.table-full-wrap-body'),
    tableScroll = $('.table-full-wrap-scroll');

tableScroll.bind('scroll', function() {
    tableHeader.scrollLeft(tableScroll.scrollLeft());
    tableBody.scrollLeft(tableScroll.scrollLeft());
});

tableHeader.bind('scroll', function() {
    tableScroll.scrollLeft(tableHeader.scrollLeft());
    tableBody.scrollLeft(tableHeader.scrollLeft());
});

tableBody.bind('scroll', function() {
    tableScroll.scrollLeft(tableBody.scrollLeft());
    tableHeader.scrollLeft(tableBody.scrollLeft());
});

$(window).bind("scroll", function() {
    var tableHeaderOffset = tableHeaderSpace.offset().top;
    if (this.pageYOffset >= tableHeaderOffset) {
        tableHeader.addClass('isFixed');
    } else {
        tableHeader.removeClass('isFixed');
    }
});
同样,这非常有效……但当您向右滚动一点时,浏览器开始复制固定标题中的内容:

问题是,没有在DOM中添加元素的情况下复制任何“实际”内容-这是某种显示重复内容的浏览器碎片

下一幅图是浏览器正在发挥更大的魔力。在水平滚动的某些点上,整个固定标题的颜色会反转:

我无法得到它的快照,但它也曾经复制了它下面的记录计数栏

有人知道这是怎么回事吗?我试图在JSFIDLE中复制这个,但没有骰子。因此,我认为这是我的代码的一个问题,但结果只在MacSafari上的一个特定浏览器上出现,而且它正在做一些奇怪的事情

最后一点-由于我不能在JSFIDLE中复制这个,我不确定如何向苹果报告这个正在工作或“损坏”的示例是专有的,我不能提供访问它的权限

编辑: 这是我试图在JSFIDLE中粗略地复制问题的地方——但它是功能性的:


所以-我知道这不会是一个热门话题,但我想我还是会继续

至于答案,我发现一些旧的表格css与我的新东西重叠了——这反过来又使safari变得如此糟糕,以致于它变得支离破碎

以前的旧代码:背景:透明

新代码:背景:fff

这对我来说毫无意义——但在其他人提出假设之前,我会将此标记为答案

现在我最差浏览器的头号竞争者:safari-look-out,IE