在滚动期间单击标签需要修复表格

时间:2014-03-03 08:46:43

标签: javascript jquery html css

我的滚动有问题。 我有3个表,其中一个我希望在滚动超过特定距离后修复

var $table = $("#thead"),
$window = $(window),
distance = $table.offset().top;
text=$("div.text2"),
textdistance=text.offset().top;

$window.scroll(function () {
var wdistance = $window.scrollTop();

 if (wdistance > distance) {
    if( wdistance < textdistance )
    {table.addClass('fixed');}
    else {
    table.removeClass('fixed');
    }
  }else{
    table.removeClass('fixed'); 
 }

});

这是我的第一个演示 jsfiddle

我想说当“if”是正确的时候,当滚动页面时,带有“thead”id的div的位置会固定在其他表的顶部。在id为“first”的div完成之后,<div id="thead"></div>将返回上一个位置。 还有另外一个问题是点击了更多细节,因为css表示div为“more-detail”id得到display:block, display:none,,id为“thead”的表在点击更多细节时都会滚动。

这是我的第二个演示 demo

2 个答案:

答案 0 :(得分:0)

当您使用 $ variablename 时,在使用varaible时始终使用$符号。在您的代码中,您指定了变量var $table,稍后将其简单地用作{{1没有table

固定小提琴:http://jsfiddle.net/HmFW7/8/


更新了小提琴:http://jsfiddle.net/HmFW7/9/

答案 1 :(得分:0)

更正 demo

with height()

textdistance=distance + $tableBody.height();