关于这个问题的一些信息:
我正在使用Internet Explorer 7/8(这不能更改)
该网站是动态填充的,并且变得非常大,它本质上是一本书,其中包含扩展/折叠章节的目录和按钮。
首先扩展/折叠章节没有问题,直到有一个非常大的章节。整本书都存储在一个可滚动的div中。
当问题发生时,大章节之上的任何内容都可以正常工作,以及相关章节。这个bug开始发生在大型章节下的章节中。当您展开/折叠并且章节位置位于div的下半部分时,它将正常工作。但是如果章节位置在div的上半部分它会出错(基于当你点击时当前滚动的时候)它会进行展开/折叠但是会跳转到目录的最顶层(它将滚动条设置为顶部。)
当章节扩展/折叠时,我没有任何逻辑可以滚动到顶部我只有逻辑来更改图标和不可见的div状态。
我尝试过的事情:
在章节展开/折叠后设置延迟,然后滚动到该章节的位置。 - 不起作用,无论如何都会滚动到顶部。
更改我的扩展/折叠方式 - 不起作用,同样的错误。
检查/更改了一些动态添加的内容 - 不起作用,一切都是有效的HTML,不应该是问题。
祈祷 - 不起作用。
以下是扩展/折叠章节的代码:
function() {
$id = $(this).parent().prop("id");
$id = parseInt($id.replace("_other", ""));
document.getElementById($id + "_arrow").innerHTML = "<span style = 'display:inline;float:left;' class ='ui-icon ui-icon-triangle-1-s ui-state-default'></span>";
if ($("#" + $id + "_content").css("display") == "none") {
$("#" + $id + "_content").css("display", "block");
} else {
$("#" + $id + "_content").css("display", "none");
}
});