我知道scrollTop已经有几个问题了,但我还没有真正看到任何类似于我的问题。
在IE9上使用jQuery1.7.2,我们有一个包含三个选项卡(JqueryUI)的页面。数据是连接的,这导致我们在页面上只有当前选项卡。更改选项卡将删除看不见的选项卡,并重新加载我们跳转到的选项卡。
滚动位置被正确地存储在基本页面上的变量中,但是尝试在文档就绪函数中设置该位置不起作用。警告显示正确的数字,因此实际上调用了该函数,但滚动条不移动。
但是,之后在页面上使用按钮调用相同的函数可以完美地工作。选项卡的jsp上的文档就绪函数非常简单:
<script type="text/javascript">
jQuery(document).ready(function(){
setAhaScrollbar();
});
</script>而且被调用的函数也非常简单:
function setAhaScrollbar() {
var scrollWert = $('#scrollbarAnhaengeartikel').val();
alert(scrollWert);
$('#anhaengeGridScrollable').scrollTop(scrollWert);
}从document-ready中调用,它不做任何事情。稍后从一个按钮调用,它工作得很好。
应该设置滚动位置的div被定义为overflow: auto和一个固定高度
发布于 2015-06-02 15:00:26
crollTop(值)
描述:为匹配元素集合中的每个元素设置滚动条的当前垂直位置。
.scrollTop(值)
价值
Type:一个整数,表示要将滚动条设置到的新位置。
正如documentation所说的,值应该是数字。
试一试
var scrollWert = Number($('#scrollbarAnhaengeartikel').val()); 或
var scrollWert = parseInt($('#scrollbarAnhaengeartikel').val());发布于 2015-06-02 15:57:57
显然,这主要是一个时间问题。也许当文档就绪时仍有一些事情在进行。
将该函数更改为
jQuery(document).ready(function(){
setTimeout("setAhaScrollbar()", 500);
});所以我的问题就解决了。
https://stackoverflow.com/questions/30589212
复制相似问题