2017-07-19 142 views
0

所以我有一个amcharts图,当我点击图中的一个条时,它旁边的一个div滚动到条上的数据。我的问题是,当我第一次进入顶部或有时是随机位置后,随时点击。我希望能够点击时滚动到每一条数据。scrollTop只适用于第一次点击

这是我的scrollTo方法的代码:

"listeners": [{ 
    "event": "clickGraphItem", 
    "method": function (event) { 
    var buildNumber = event.item.category; 
    var id = '#buildNumber' + buildNumber; 
    var buildFailureObject = $('#buildNumber' + buildNumber); 
    $('#infodiv').animate({ scrollTop: $(buildFailureObject).position().top - 20 }, 2000); 
} 
}] 

的信息DIV是在滚动发生。为了澄清,第一次点击的作品,并带我到“buildFailureObject”,但接下来的点击要么把我带回infodiv的顶部,要么随时随地点击。

我看过接近我的问题,并且preventDefault并没有帮助我,也没有返回错误。

感谢您提供任何帮助。

+0

滚动到“随机”位置这一事实让我相信随着事件发送的数据可能会出现问题。你有'console.log()'编辑'event'和/或'event.item'对象吗? – giorgio

+0

你可以请帖子的代码,所以我可以验证它的问题 – Jackson

+0

你必须首先获得对象的scrollheight然后你必须滚动,直到如下给出: $('#infodiv')。animate({scrollTop:$ (buildFailureObject.scrollHeight - 20},2000); – brijrajsinh

回答

0

好了,所以我想出了答案,我需要这样的:

$( '#infodiv')动画({scrollTop的:($( '#infodiv')scrollTop的()+ $(buildFailureObject) .position()。top -20)},2000);

相关问题