Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
滚动条和滑动切换jQuery出现问题_Jquery_Internet Explorer_Scrollbar_Slidetoggle - Fatal编程技术网

滚动条和滑动切换jQuery出现问题

滚动条和滑动切换jQuery出现问题,jquery,internet-explorer,scrollbar,slidetoggle,Jquery,Internet Explorer,Scrollbar,Slidetoggle,我对jQuery和IE9/IE10有一个问题:我有一个简单的页面,其中有一个表列表(有时有许多行),如果用户可以通过单击隐藏他想要的表,我希望这样做。 因此,如果用户单击表名,最后一个会向上滑动。 是这样的: $(thisId + "title").bind('click', function() { $(thisId + "span div:not(" + thisId + "title)").each(function() { $(this).slideTog

我对jQuery和IE9/IE10有一个问题:我有一个简单的页面,其中有一个表列表(有时有许多行),如果用户可以通过单击隐藏他想要的表,我希望这样做。 因此,如果用户单击表名,最后一个会向上滑动。 是这样的:

$(thisId + "title").bind('click', function() { 
     $(thisId + "span div:not(" + thisId + "title)").each(function() {
          $(this).slideToggle("medium");
     });
});
一切正常!表格会向上滑动,内容的高度会在必要时缩小或增大。在FF、Chrome和Opera中,我没有问题。 在IE中,内容缩小或增大,但滚动条的高度根本没有改变!因此,用户可以沿着旧内容的高度滚动(但不再显示任何内容)。简言之,保持旧窗户的高度。 如果我缩小任务栏中的窗口并将其调回,则高度是正确的,就像刷新页面一样

我试图通过每次用户滑下或滑上一张桌子时重新计算窗口的高度来改变窗口的高度,但我认为这有点混乱,在IE10上似乎不起作用

我以前从未遇到过这个问题,它让我发疯。谁能帮我一把吗?非常感谢。谢谢

编辑: 我试图隐藏加载的每个元素,然后打开它们(我知道要打开哪些元素,因为我必须将这些信息存储在数据库中…)。它工作得很好。。。但现在我有一个水平滚动条,当我滑下其中一张桌子

编辑2:我做了一个有点难看的东西,它在IE9中似乎有效,但在IE10中不起作用。加载页面时,如果必须隐藏其中一个表,我会隐藏滚动条,然后再次显示它。因此,页面的高度是正确的。 然后,如果用户决定隐藏另一个表,我会做同样的事情,并通过以下操作调整窗口高度:

var newHeight = $(window).height() - $(this).height();
$(window).height(newHeight);
在IE中,似乎存在一个“延迟”问题,比如一次要做的事情太多,所以滚动条没有更新。其他浏览器没有问题

编辑3:因此,最后,我用.show()和hide()重新编辑了一个测试,并在表关闭时添加了这些行

var newWinHeight = $(window).height() - tempHeight;
$(window).height(newWinHeight);
$("body").css("overflow-y","hidden","important");
$("body").css("overflow-y","auto","important");

它在FF、Chrome、Opera和IE 9中工作!但不幸的是,不是IE 10。IE似乎需要重新加载“整件事”以获得正确的值。

如果您只是
show()
hide()
表格行,是否也会发生同样的情况?用jquery设置表行的动画可能会有问题。它尝试使用show()和hide()或.css(“display”、“none”),结果类似。我不明白为什么它在IE中不起作用,因为我在另一个页面上有类似的东西,但只针对一个div元素,而且一切都是正确的。